0

我需要帮助才能将字符串发送到另一个活动。

public class MainActivity extends Activity implements OnClickListener{

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    Intent myInt = new Intent(this,Receiver.class);
    myInt.putExtra("key",Event);
    startActivity(myInt);
}

Button b;
EditText Edt;
String Event;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b=(Button)findViewById(R.id.button);
        b.setOnClickListener(this);
        Edt=(EditText)findViewById(R.id.EdtText);
        Event=new String(Edt.getText().toString());             
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

这就是我要发送到此活动的字符串事件的意图

public class Receiver extends Activity {

TextView txtV;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.receiving);
    txtV=(TextView)findViewById(R.id.txtV);
    Bundle extras = getIntent().getExtras();
    if(extras !=null) {
        String value = extras.getString("key");
    }
    txtV.setText("key");
}
}

当我运行我的程序时,它只显示“键”,但我想显示我无法在此活动中使用的字符串事件,尽管我在第一个意图中使用了 putExtra 方法。请帮助我,我知道还有很多其他类似的问题,但我仍然不明白。

4

2 回答 2

5

用这个:

    txtV.setText(value);

不是这个:

    txtV.setText("key");
于 2013-02-24T15:43:40.003 回答
0

尝试这个。我希望它会帮助你。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    b=(Button)findViewById(R.id.button);
    b.setOnClickListener(this);
    Edt=(EditText)findViewById(R.id.EdtText);
    Event=new String(Edt.getText().toString()); //Remove this line   
}

@Override
public void onClick(View arg0) {
    Event = Edt.getText().toString();  //Write here
    Intent myInt = new Intent(this,Receiver.class);
    myInt.putExtra("key",Event);
    startActivity(myInt);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.receiving);
    txtV=(TextView)findViewById(R.id.txtV);
    Bundle extras = getIntent().getExtras();
    if(extras !=null) {
        String value = extras.getString("key"); //assign it.
        txtV.setText(value); //set it to textview.
    }
}
于 2013-02-24T15:50:04.210 回答