2013-11-21 82 views
0

我有兩個活動,第二個第三個。在第二個活動中,我有兩個單選按鈕,紅色和藍色,用戶可以使用它們來控制活動中的文本顏色。我用了一個意圖和putExtra(),但它沒有按照我預期的方式運作。如何在兩個活動之間傳遞信息?

次活動:

public class Second extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second); 
    Button btn2 = (Button) findViewById(R.id.go_btn3); 

    btn2.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v){ 
     Intent myIntent = new Intent(Second.this, Third.class); 
     RadioButton redButton = (RadioButton) findViewById(R.id.color_red); 
     RadioButton blueButton = (RadioButton) findViewById(R.id.color_black); 
     myIntent.putExtra("check_red", redButton.isSelected()); 
     myIntent.putExtra("check_blue", blueButton.isSelected()); 
     startActivity(myIntent); 
    }});  
} 

第三個活動:

public class Third extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.third); 

     TextView resultView = (TextView) findViewById(R.id.display); 

     boolean red_check = getIntent().getExtras().getBoolean("check_red"); 
     resultView.setText(""+red_check); //for testing. what I got is FALSE 
    } 
} 
+0

red_check關鍵是不SA我作爲check_red .. putExtra和getExtra的密鑰需要相同。 –

+0

您將值設置爲「check_red」,然後嘗試將其讀取爲「red_check」。 –

+0

抱歉,錯字!我更新了我的代碼,仍然得到相同的結果 – user2350622

回答

2

更改isSelected();調用isChecked();

​​已完全不同的含義比isChecked();

相關問題