时间:2011-04-30 09:26:32

标签: android android-intent bundle

我的android中的应用程序有一点/大问题。我有2个活动:Activity1和Activity2。 Activity1有一个TextView和一个Button,Activity2有一个EditText和一个Button。从Activity1我转到Acvity2,我想将EditText中的文本从Activity2发送到Activity 1.我强行关闭,因为我不知道代码中的顺序。我该怎么办?感谢

这是我的代码:


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Activity1 extends Activity {
    TextView txt;
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

       txt = (TextView) findViewById(R.id.txt);

        Button next=(Button)findViewById(R.id.btn);
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent(Activity1.this,Activity2.class);
                startActivityForResult(intent, 0);
            }

        });
    }

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Activity2 extends Activity {
    EditText txt2;
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);

        txt2 = (EditText)findViewById(R.id.txt2);
        final Bundle bundle = new Bundle();
        String x=txt2.getText().toString();
        bundle.putString("param",x);
        Button btn2=(Button)findViewById(R.id.btn2);
        btn2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent(Activity2.this,Activity1.class);
                intent.putExtra(bundle)
                finish();

            }

        });
          }
}

3 个答案:

答案 0 :(得分:0)

您的代码存在的一个问题是您没有处理第二个活动结果的任何内容。 (第一项活动中没有onActivityResult。)

The notepad tutorial包含一个调用第二个活动并获得结果的好例子。

答案 1 :(得分:0)

在Activity1 @override onActivityResult。

并在Activity2中写下这个。

txt2 = (EditText)findViewById(R.id.txt2);
    final Bundle bundle = new Bundle();
    String x=txt2.getText().toString();
    bundle.putString("param",x);
    Button btn2=(Button)findViewById(R.id.btn2);
    btn2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent intent = new Intent();
            intent.putExtra("param",x);
            setResult(RESULT_OK, intent);
            finish();

        }
    });

答案 2 :(得分:0)

在Activity1 @override onActivityResult。

并在Activity2中写下这个。

txt2 =(EditText)findViewById(R.id.txt2);

final Bundle bundle = new Bundle();
String x=txt2.getText().toString();
Button btn2=(Button)findViewById(R.id.btn2);
btn2.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        Intent intent = new Intent();
        intent.putExtra("param",x);
        setResult(RESULT_OK, intent);
        finish();
    }