我想根据我的复选框状态显示值。
我使用过的代码是......
if((cb1).isChecked()==true){
str="abc";
}
public void chk_med(View view){
Intent intent = new Intent(Medicine.this, chk_med.class);
Medicine.this.startActivity(intent);
intent.putExtra("fvr", str);
chk_med代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.disp_med);
Bundle extras=getIntent().getExtras();
String Value1;
Value1 = extras.getString("fvr");
TextView t1 = (TextView)findViewById(R.id.show_res);
t1.setText(Value1);
}
似乎是什么错误? Plz帮助guyz。
我将代码更改为
public void chk_med(View view){
Intent intent = new Intent(Medicine.this, chk_med.class);
intent.putExtra("fvr", a);
Medicine.this.startActivity(intent);
但仍然没有在chk_med intent中显示任何内容
答案 0 :(得分:1)
在启动新活动后,您将extra
提供给意图 。因此,一旦你推出了新的活动,你就永远无法获得你想要的额外费用。
这意味着你应该改变你的代码:
public void chk_med(View view){
if(cb1.isChecked())
str="abc";
else
str = "xyz";
Intent intent = new Intent(Medicine.this, chk_med.class);
intent.putExtra("fvr", str);
Medicine.this.startActivity(intent);
}
这允许在合适的时间将额外的内容提供给意图。
还要考虑正确的Java命名约定:类以大写字母开头,变量不以(camelcase)开头。
答案 1 :(得分:0)
这些行无序:
Intent intent = new Intent(Medicine.this, chk_med.class);
Medicine.this.startActivity(intent);
intent.putExtra("fvr", str);
更改为:
Intent intent = new Intent(Medicine.this, chk_med.class);
intent.putExtra("fvr", str);
Medicine.this.startActivity(intent);