我有一個按鈕,當我點擊一個對話框出現。問題是,setOnClickListener
沒有響應我的按鈕。按鈕OnClickListener不工作
這裏是我的Java代碼:
Button b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(usage);
b2 = (Button) findViewById(R.id.button2);
b2.setOnClickListener(price);
b3 = (Button) findViewById(R.id.button3);
b3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
System.out.println("Button3");
mainDialog3 = new Dialog(Advice.this);
mainDialog3.setContentView(R.layout.fuel);
mainDialog3.setCancelable(true);
mainDialog3.show();
Window window = mainDialog3.getWindow();
window.setLayout(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
}
});
private View.OnClickListener usage = new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("Button1");
Toast.makeText(getApplicationContext(), "Button 1",
Toast.LENGTH_LONG).show();
mainDialog1 = new Dialog(Advice.this);
mainDialog1.setContentView(R.layout.usage);
mainDialog1.setCancelable(true);
mainDialog1.show();
Window window = mainDialog1.getWindow();
window.setLayout(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
}
};
private View.OnClickListener price = new View.OnClickListener() {
public void onClick(View v) {
System.out.println("Button2");
mainDialog2 = new Dialog(Advice.this);
mainDialog2.setContentView(R.layout.price);
mainDialog2.setCancelable(true);
mainDialog2.show();
Window window = mainDialog2.getWindow();
window.setLayout(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
}
};
問題是與按鈕1(b1
)。其餘的按鈕(b2
,b3
)工作得很好。下面是我的XML:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/button7"
android:text="Edit" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button3"
android:layout_alignLeft="@+id/button1"
android:text="Edit" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView8"
android:layout_alignLeft="@+id/button2"
android:text="Edit" />
愚蠢的問題,但你確定你點擊的按鈕是button1?好像你在RelativeLayout中有多個按鈕都具有相同的文本(「編輯」)。是否有可能另一個按鈕位於你認爲是button1的頂部,從而阻止它被點擊? – brianestey
是的,我檢查沒有其他按鈕重疊按鈕。相反,我添加了一個新的按鈕,並檢查,但仍然是同樣的問題。 – Droid
嘿,非常感謝你,我不知道問題在哪裏,但它現在起作用了。 – Droid