我正在构建一个简单的应用程序 允许用户输入他的名字并选择“带名字”的单选按钮 和祝酒词,你好名字
和其他收音机为客人显示问候客人,所以如何在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 :(得分:0)
请改为尝试:
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
//YOUR CODE HERE
}
});
将它放在onCreate()中,看看它是如何为你工作的。您是否也尝试过查看视图的id是否传入onClick实际上是正确的视图?要查看此内容,请使用log检查ID。
答案 1 :(得分: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