首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

onActivityResult传值的施用

2012-09-02 
onActivityResult传值的使用有时候在群里加入的新人总会喜欢问一些过去的问题? 有时候不想回答 是因为回答

onActivityResult传值的使用

有时候在群里加入的新人总会喜欢问一些过去的问题? 有时候不想回答 是因为回答的次数多了

不回答又打击人的积极性? 谁让自己接触的早呢? 为了省劲还是把简单的东西作为指导篇吧

?

多个activity之间的传值 其实就是onActivityResult,然后别忘了还有一个action的问题 就是在主xml中添加自己的action以便于识别,最后次activity别忘了finansh。

public class Wizard extends Activity {    private TextView step1result, step2result, step3result;    public static final String INTENT_STEP1 = "com.novoda.STEP1";    public static final String INTENT_STEP2 = "com.novoda.STEP2";    public static final String INTENT_STEP3 = "com.novoda.STEP3";    private static final int STEP1 = 1;    private static final int STEP2 = 2;    private static final int STEP3 = 3;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.wizard);                this.step1result = (TextView)findViewById(R.id.step1result);        this.step2result = (TextView)findViewById(R.id.step2result);        this.step3result = (TextView)findViewById(R.id.step3result);                  startActivityForResult(new Intent(Wizard.INTENT_STEP1), STEP1);            }            protected void onActivityResult(int requestCode, int resultCode, Intent data) {        switch (requestCode) {            case STEP1:                this.step1result.setText(data.getStringExtra("STEP1RESULT"));                startActivityForResult(new Intent(Wizard.INTENT_STEP2), STEP2);                    break;            case STEP2:                this.step2result.setText(data.getStringExtra("STEP2RESULT"));                startActivityForResult(new Intent(Wizard.INTENT_STEP3), STEP3);                    break;            case STEP3:                this.step3result.setText(data.getStringExtra("STEP3RESULT"));                break;        }    }}

?

public class Step1 extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.step1);        Button nextStep = (Button)findViewById(R.id.goto2);        nextStep.setOnClickListener(new View.OnClickListener() {            public void onClick(View v) {                Intent it = new Intent();                it.putExtra("STEP1RESULT", ((EditText)findViewById(R.id.step1value)).getText()                        .toString());                setResult(Activity.RESULT_OK, it);                finish();            }        });    }}

?

后面的step2 step3都是一样的了

然后还有主xml

<application android:icon="@drawable/icon" android:label="@string/app_name"><activity android:name=".Wizard" android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".Step1" android:label="Step1"><intent-filter><action android:name="com.novoda.STEP1" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity><activity android:name=".Step2" android:label="Step2"><intent-filter><action android:name="com.novoda.STEP2" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity><activity android:name=".Step3" android:label="Step3"><intent-filter><action android:name="com.novoda.STEP3" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity></application><uses-sdk android:minSdkVersion="7" /></manifest> 

?

热点排行