当我点击第一个页面的一个按钮,就跳到了第二个页面,第二个页面是用户名和密码还有个确定按钮,当我在第二个页面中填完了用户名和密码的数据,按确定按钮,把第二个页面中填完了用户名和密码的数据传给第一个页面,并在第一个页面的显示框显示第二个面的那些用户名和密码的数据,我无法实现!下面是我的程序:
第一个页面的:
   package com.example.logon07111030;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends Activity {  Button button01;
 TextView textView01;
protected Intent bundle;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        button01=(Button) findViewById(R.id.button01);
        textView01=(TextView) findViewById(R.id.textView01);
        
       
        button01.setOnClickListener(new OnClickListener(){  //按钮接口监听器 public void onClick(View v) {
// TODO Auto-generated method stub

Intent intent=new Intent();
intent.setClass(MainActivity.this, Second.class);
 startActivityForResult(intent, 0);
startActivityforResult(intent,100); MainActivity.this.finish();


}
        }); 
    }
        
        protected void startActivityforResult(Intent intent, int i) {

         String xm=textView01.getText().toString();
         textView01=(TextView) findViewById(R.id.textView1);
         textView01.setText(xm);
        
        
}
       
    
}
    
第二个一面是:  package com.example.logon07111030;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;public class Second extends Activity {

Button button1;
EditText editText1,editText2;

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        
        button1=(Button) findViewById(R.id.button1);
        editText1=(EditText) findViewById(R.id.editText1);
        editText2=(EditText) findViewById(R.id.editText2);
        
        button1.setOnClickListener(new OnClickListener(){ public void onClick(View v) {
// TODO Auto-generated method stub

String zhanghu=editText1.getText().toString().intern();//获得账户
String mima=editText2.getText().toString().intern();//获得密码

Intent intent=new Intent();
intent.setClass(Second.this,MainActivity.class);

Bundle bundle=new Bundle(); //创建bundle
bundle.putString("zhanghu", zhanghu); //加入信息
bundle.putString("mima", mima);

intent.putExtras(bundle); //绑定信息
setResult(101,intent);
//startActivity(intent); //启动Activity

//Second.this.finish(); //关闭Activity
finish();


}
        
        });
        
        
         }}希望高手能给我完整的正确的程序!
    
      

解决方案 »

  1.   

    下面代码是我之前写的一个小例子,使用Intent传递数据,你参考一下吧.第一个Activitypackage com.example.android_intent4;import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;public class MainActivity extends Activity { private final static int REQUESTCODE = 1;//返回结果码 private Button button;
    private EditText editTextOne;
    private EditText editTextTwo;
    private EditText resultEditText; @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editTextOne = (EditText) findViewById(R.id.one);
    editTextTwo = (EditText) findViewById(R.id.two);
    resultEditText = (EditText) findViewById(R.id.result); button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {
    // TODO Auto-generated method stub
    int a = Integer.parseInt(editTextOne.getText().toString());
    int b = Integer.parseInt(editTextTwo.getText().toString());
    Intent intent = new Intent(MainActivity.this,
    OtherActivity.class);
    intent.putExtra("a", a);
    intent.putExtra("b", b);
    startActivityForResult(intent, REQUESTCODE); }
    });
    } @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == 2) {
    if (requestCode == REQUESTCODE) {
    int res = data.getIntExtra("result", 0);
    resultEditText = (EditText) findViewById(R.id.result);
    resultEditText.setText(String.valueOf(res));
    }
    }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
    }
    }
    第二个Activity
    package com.example.android_intent4;import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;public class OtherActivity extends Activity { private TextView textView;
    private EditText editText;
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.other);
    textView = (TextView) findViewById(R.id.msg);
    Intent intent = getIntent();
    textView.setText(intent.getIntExtra("a", 0) + " + " + intent.getIntExtra("b", 0) + " = ?");

    editText = (EditText) findViewById(R.id.three);
    button = (Button) findViewById(R.id.button2);

    button.setOnClickListener(new OnClickListener() {

    public void onClick(View arg0) {
    int result = Integer.parseInt(editText.getText().toString());
    Intent intent = new Intent();
    intent.putExtra("result", result);
    setResult(2, intent);
    finish();//结束当前Activity
    }
    });
    }}
      

  2.   

     protected void startActivityforResult(Intent intent, int i) {  String xm=textView01.getText().toString();
      textView01=(TextView) findViewById(R.id.textView1);
      textView01.setText(xm);
      
      
    }很明显getText().toString();这个取的值应该是EditText的吧,你是TextView。另外怎么用
    两个:
    startActivityForResult(intent, 0);
    startActivityforResult(intent,100);
    ???
      

  3.   

    使用startActivityforResult,或者动态注册一个广播接收器
      

  4.   


    我的想法是,用这段代码接收第二个Activity返回来的用户和密码的数据的!不知道对不对!我不懂,只能摸索!请指导!
      

  5.   

    我的本意是将第二个Activity中的两个edittext,填好数据后按个按钮,两个edittext中的数据在第一个Activity中的textView中显示!
      

  6.   

    接收回传的参数是在onActivityResult(int requestCode, int resultCode, Intent data)方法中进行的.
    并且你把startActivityforResult(Intent intent, int i){}方法给重写了.
    另外注意:被开启的Activity如果是singleinstance的话,好像onActivityResult(int requestCode, int resultCode, Intent data)方法还并不会执行.