请帮忙...... 我有 活动1:由值按钮5,10,30,50和100组成。 活动2:显示在Activtity 1中选择的值。
但是..我得到了什么.. 在活动2中,值不显示..但是,它仅在我使用后退按钮时显示值,转到活动1并使用活动2的布局。
活动1
public class ButtonClickHandler implements View.OnClickListener {
public void onClick(View view) {
switch (view.getId()) {
case R.id.imageView2:
Intent intent7 = new Intent(IntentExampleActivity.this,more.class);
intent7.putExtra("YourKeyName", "RM 5");
startActivity(intent7);
break;
case R.id.imageView6:
Intent intent2 = new Intent(IntentExampleActivity.this,more.class);
intent2.putExtra("YourKeyName", "RM 10");
startActivity(intent2);
break;
case R.id.imageView3:
Intent intent4 = new Intent(IntentExampleActivity.this,more.class);
intent4.putExtra("YourKeyName", "RM 30");
startActivity(intent4);
break;
case R.id.imageView02:
Intent intent3 =new Intent(IntentExampleActivity.this,more.class);
intent3.putExtra("YourKeyName", "RM 50");
startActivity(intent3);
break;
case R.id.imageView06:
Intent intent5 = new Intent(IntentExampleActivity.this,more.class);
intent5.putExtra("YourKeyName", "RM 100");
startActivity(intent5);
break;
default:
};
活动2
package com.prgguru.android;
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 more extends Activity {
TextView text1;
TextView text2;
Button btn1;
Button btn2;
String value;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.more);
btn1= (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new ButtonClickHandler());
btn2= (Button) findViewById(R.id.button2);
btn2.setOnClickListener(new ButtonClickHandler());
Intent intent = getIntent();
String valueFromIntent = intent.getStringExtra("YourKeyName");
text1= (TextView) findViewById(R.id.textView2);
text1.setText(valueFromIntent);
}
public class ButtonClickHandler implements View.OnClickListener {
public void onClick(View view) {
if(view.getId()==R.id.button1){
Intent intObj = new Intent(getApplicationContext(),
IntentExampleActivity.class);
startActivity(intObj);
}
else if ((view.getId()==R.id.button2)){
Intent intObj = new Intent(getApplicationContext(),
reconfirm.class);
startActivity(intObj);
}
}
}
}
我猜发送Intent活动是错误的,但找不到解决方案。几天思考这个问题。我是新手,请帮帮我〜
答案 0 :(得分:-2)
只有当我使用后退按钮转到Activity1并且使用活动2的布局时才会显示该值
因为您在onClickListener中设置了文本值的逻辑。就这样做
Intent intent = getIntent();
String valueFromIntent = intent.getStringExtra("YourKeyName");
text1= (TextView) findViewById(R.id.textView2);
text1.setText(valueFromIntent);
在Activity 2的onCreate中,位于任何onClickListener括号之外。它应该工作。