[英]Android Button ArrayList onClickListener doesn't work. Why?
我為按鈕和表行創建了一個arraylist。
private ArrayList<Button> btDec = new ArrayList<Button>();
private ArrayList<TableRow> tr = new ArrayList<TableRow>();
然后,我想創建一個新的按鈕和tablerow,並通過在onCreate()方法中使用以下代碼將tem添加到tablelayout中。
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
btDec.add(new Button(this));
tr.add(new TableRow(this));
int i = tr.size() - 1;
btDec.get(i).setId(i);
btDec.get(i).setText("-");
tr.get(i).addView(btDec.get(i));
lo.addView(tr.get(i), new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT));
}
});
所有這些代碼都可以正常工作。 但是以下代碼(同樣在onCreate()方法中)不起作用。 如果按此按鈕,則什么也不會發生,並且在Logcat中不會打印任何內容。
for(int i = 0; i < tr.size(); i++)
{
btDec.get(i).setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
Log.i("ButtonListener", "test");
}
});
}
請幫我。
問題是此代碼
for(int i = 0; i < tr.size(); i++)
{
btDec.get(i).setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
Log.i("ButtonListener", "test");
}
});
}
您無法在onCreate()
執行此操作,因為tr
列表為空! 創建按鈕時,應添加onClick偵聽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.