我有一個按鈕,當我點擊它時,彈出窗口顯示其中包含4個按鈕。 根據用戶在彈出窗口中單擊的按鈕,彈出式觸發按鈕將自行更新。但是我面臨的問題是無法在下面的代碼中使用getId()。無法getId()在嵌套setOnClickListener
public void pressCell(View view) {
final ImageButton popup = (ImageButton) findViewById(view.getId());
LayoutInflater layoutInflater = (LayoutInflater) getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.popup, null);
final PopupWindow popupWindow = new PopupWindow(popupView,
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
popupWindow.setFocusable(true);
popupView.findViewById(popupView.getId()).setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
popup.setImageResource(R.drawable.num1);
case R.id.button2:
popup.setImageResource(R.drawable.num2);
case R.id.button3:
popup.setImageResource(R.drawable.num3);
case R.id.button4:
popup.setImageResource(R.drawable.num4);
}
popupWindow.dismiss();
}
});
popupWindow.showAsDropDown(findViewById(view.getId()), -120, -2
* findViewById(view.getId()).getHeight());
}
pressCell是觸發按鈕的onclick功能:
<ImageButton
android:id="@+id/cell1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="pressCell"
android:src="@drawable/num3" />
誰能告訴我什麼是這裏的問題?謝謝。
使用popup.setOnClickListener爲多個視圖設置onClickLinstener,並在切換案例中添加中斷 –
使用setOnClickListener和使用android:onclick是否有區別?由於我有很多觸發按鈕,所以我真的不想在每個按鈕上設置Listener。 – hakunami