2011-11-19 66 views
0

我建立一個簡單的應用程序 允許用戶輸入自己的名字,然後選擇單選按鈕「名稱爲」 和敬酒顯示,你好名稱獲取裏面的OnClick選擇的單選按鈕,一個按鈕

和另一個電臺的客人來顯示你好客人,所以我怎麼能得到OnClick的選定的收音機,我需要從FindViewByID獲取他們?

這裏我的代碼

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Button button = (Button) findViewById(R.id.button1); 
    button.setOnClickListener(this); 

} 

public void onClick(View v) { 
    if (v.getId() == R.id.button1) { 
     //getting the selected radio if its radio 0 
     Toast.makeText(this, "Hello Guest", Toast.LENGTH_LONG).show(); 
    } 

    //getting the selected radio if its radio 1 
    EditText txt = (EditText) findViewById(R.id.editText1); 

    Toast.makeText(this, "Hello " + txt.toString(), Toast.LENGTH_LONG).show(); 
} 
+0

定義單選按鈕,當你在的onCreate的按鈕做的()和獲取該單選按鈕的狀態。 – user370305

+0

這不是您的實際代碼,因爲您可以在重新格式化它之後清楚地看到它 - 您的花括號不匹配(請參閱代碼的最後兩行)。這段代碼不會編譯。此外,你只是檢查'id.button1',然後總是檢索'editText1'並在'Toast.makeText'調用中使用它。 –

+0

這是我的代碼,但我改變了一些東西,我面臨的唯一問題是獲得OnClick中選定的收音機,edittext將無法工作 – Peril

回答

0

試試這個:

button.setOnClickListener(new View.OnClickListener(){ 
    public void onClick(View v){ 
     //YOUR CODE HERE 
    } 
}); 

將在的onCreate(),看看對你有用的。你是否也嘗試過查看View的Id是否傳入onClick實際上是正確的視圖?要查看此信息,請使用log檢查Id。

0

更好,你直接檢查按鈕點擊收聽的單選按鈕狀態:

@Override 
public void onClick(View v) 

{ 
if(v == button) 
{ 

if(rb1.isChecked() == true) 
Toast.makeText(this, "Hello"+rb1.getText(), Toast.LENGTH_LONG).show(); 

if(rb2.isChecked() == true) 
Toast.makeText(this, "Hello"+rb2.getText(), Toast.LENGTH_LONG).show(); 
} 
} 

其中

rb1=(RadioButton)findViewById(R.id.optname); 
rb2=(RadioButton)findViewById(R.id.optguest); 

FOR MORE