我有一个带有问题和两个按钮的简单xml。当按下其中一个按钮时,我将比较按下的按钮的id是否等于" Blanco"或者"黑人"。 XML代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="@string/pregunta" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Blanco" android:onClick="respuesta"/> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Negro" android:onClick="respuesta"/> </LinearLayout> </LinearLayout>
这是de java代码:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void respuesta(){
//The doubt.
//Here the if/else to compare ID with the button text
}
}
答案 0 :(得分:1)
将onClickListener实现到您的Activity中。
public class MainActivity extends ActionBarActivity implements OnClickListener
在类中声明Button变量
Button btblanco, btnegro;
在onCreate上实现clickListener事件
btblanco = (Button) findViewById(R.id.button1);
btnegro = (Button) findViewById(R.id.button2);
btblanco.setOnClickListener(this);
btnegro.setOnClickListener(this);
并将其放在onClickListener方法中。
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.button1:
Toast.makeText(getApplicationContext(), "Blanco", Toast.LENGTH_SHORT).show();
break;
case R.id.button2:
Toast.makeText(getApplicationContext(), "Negro", Toast.LENGTH_SHORT).show();
break;
}}
答案 1 :(得分:1)
不要那样做。为每个onClickListener
创建一个Button
,以便确切知道正在按下哪个public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button)findViewById(R.id.button1);
Button button2 = (Button)findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener{
public void onClick(View v) {
// call code here, knowing that button1 was pressed
}
});
button2.setOnClickListener(new View.OnClickListener{
public void onClick(View v) {
// call code here, knowing that button2 was pressed
}
});
}
}
。例如:
{{1}}
答案 2 :(得分:0)
如果您只想知道单击了哪个按钮,则将onclicklistener添加到按钮对象。谷歌为它做了一点,你找到的样本将告诉你如何使用开关案例结构来根据点击的按钮进行动作。