我有很多按編程方式創建的按鈕,每個按鈕對應於某個特定的操作,我需要能夠根據哪個按鈕識別和檢索用戶輸入被點擊。用戶界面是如下:如何在自動創建的多重按鈕上管理OnClickListener
我有一個像70項喜歡那些人。
我讀過
Dynamically creating Buttons and setting onClickListener
和
Implementing OnClickListener for dynamically created buttons in Android
但我不知道什麼是正確的做法。例如,如果用戶點擊Button
文本現在被設置爲...,我必須能夠檢索EditText
的值,並且知道該分鐘數量對應於Andar carrito compra。
將tag
指定給Button
是正確的,以便識別屏幕上的索引,然後在查看層次結構中查找並檢索EditText
Value?
這是我到目前爲止的代碼:
for (int i = 1; i < types.length; i++) {
// ... more views created
// ......
Button enterBt2 = new Button(this);
// Set layout params and stuff for the button
enterBt2.setTag(i);
enterBt2.setOnClickListener(getOnClickDoSomething(enterBt2));
// ....
}
而且OnClickListener
:
View.OnClickListener getOnClickDoSomething(final Button button) {
return new View.OnClickListener() {
public void onClick(View v) {
Log.e(TAG, "O " + ExerciseRecord.TYPE.values()[((int) button.getTag())]);
// Obtain the value of the EditText with
LinearLayout ll = (LinearLayout) button.getParent();
ll.getChildAt(0); //The EditText
}
};
}
這將是它的最佳方法是什麼?