用接口实现,在非跳转情况下,一个界面(Activity或dialog等皆可)向Activity传数据。看效果:
如有手懒的朋友,可直接到我的资源页下载(0积分):
http://download.youkuaiyun.com/detail/qq_29614465/9640189,是Android studio版本,有用eclipse的朋友只要用关键代码即可。
1.MainActivity
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { Button btn1; TextView tv_second;//第二个界面值过来的值 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.button_first); tv_second = (TextView) findViewById(R.id.tv_second); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, SecondActivity.class)); } }); } @Override protected void onResume() { super.onResume(); SecondActivity.InputPsdDialogListener inputDialogListener = new SecondActivity.InputPsdDialogListener() { @Override public void onOK(String text) { Log.d("结果是什么呢", "onCreate() returned: " + text); tv_second.setText("传过来的是:" + text); } }; SecondActivity sec = new SecondActivity(); sec.setListener(inputDialogListener); //开启这个接口 } }2.SecondActivity
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class SecondActivity extends Activity { Button btn2; EditText editText; private static InputPsdDialogListener mDialogListener; public interface InputPsdDialogListener { //创建这个接口 void onOK(String text); //创建一个方法,其中的text就是要传递的参数,你要传什么数据,方法你自定义一下。 } public void setListener(InputPsdDialogListener inputDialogListener) { this.mDialogListener = inputDialogListener; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); btn2 = (Button) findViewById(R.id.button_second); editText = (EditText) findViewById(R.id.edit_info); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); mDialogListener.onOK(editText.getText().toString()); } }); } }3.activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:text="我是第一个界面" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30sp" android:textColor="#000000" android:layout_marginTop="20dp"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点点我进入下一个界面" android:id="@+id/button_first" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> <TextView android:id="@+id/tv_second" android:text="一会儿能看到第二个界面传过来的值" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:textSize="20sp" android:textColor="@android:color/holo_blue_dark" android:layout_marginBottom="50dp"/> </RelativeLayout>4.activity_second.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="qiwei.shiyang.SecondActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="第二个界面" android:textColor="#000000" android:textSize="30sp" /> <EditText android:id="@+id/edit_info" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="70dp" android:hint="输入点想传的信息" android:textSize="20sp" /> <Button android:id="@+id/button_second" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="输入完点我能回去" /> </RelativeLayout>
如有手懒的朋友,可直接到我的资源页下载(0积分):
http://download.youkuaiyun.com/detail/qq_29614465/9640189,是Android studio版本,有用eclipse的朋友只要用关键代码即可。