2013-02-03 79 views
0

我想根據我的複選框的狀態顯示值..無法從一個意圖顯示值到另一個

代碼中,我用的是..

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意圖沒什麼

+1

建議保持putExtra startActivity之前.... – Vikram

+0

這個東西的工作,但現在它顯示沒有新的意向,即chk_med –

回答

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命名約定:類先從首都,和變量(駝峯)。

+0

@AC這個東西的工作,但現在它顯示沒有新的意向即chk_med –

+0

更清潔的代碼,你應該做'字符串值1 = getIntent()getStringExtra(「FVR」);'你在新的活動。同時檢查'str'有一個有效值的'chk_med()'方法。 –

+0

@Vikram辛格 @nathan 可以讓我知道我可以根據選定的複選框 我使用的顯示Valye '如果((CB1).isChecked()==真){ 海峽= 「ABC」; }' 但仍似乎並不工作 –

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); 
+0

這個東西的工作,但現在它顯示沒有新的意向,即chk_med –

相關問題