【发布时间】:2018-02-27 08:06:17
【问题描述】:
这是我的 Android 代码,用于在每个表格行中动态创建表格、表格行以及文本视图和按钮。按钮最初显示“选择”。单击时,按钮文本应更改为“删除”,再次单击时,应显示“选择”。我为每个按钮创建了一个点击事件,它可以正常触发。但是,在单击事件中,我无法更改按钮文本。
//Create dynamic table
for (int i =0; i<pList.size(); i++) {
dynamicTable = (TableLayout) findViewById(R.id.tableID);
dynamicRow = new TableRow(this);
//add label to row
TextView tv = new TextView(this);
tv.setText(pList.get(i));
tv.setWidth(200);
dynamicRow.addView(tv);
//add select button to row
dynamicBtn = new Button(this);
dynamicBtn.setText("Select");
dynamicBtn.setId(Integer.parseInt(pList.get(i)));
dynamicBtn.setWidth(200);
dynamicRow.addView(dynamicBtn);
dynamicBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (dynamicBtn.getText().toString().contentEquals("Select"))
{
selectedList.add( Integer.toString(dynamicBtn.getId()) );
//This part is not working
dynamicBtn.setText("Remove");
}
else if (dynamicBtn.getText().toString().contentEquals("Remove"))
{
selectedList.remove( Integer.toString(dynamicBtn.getId()) );
dynamicBtn.setText("Select");
}
}
});
dynamicTable.addView(dynamicRow);
}
【问题讨论】:
-
"我无法更改按钮文本。"这到底是什么意思?你得到一个编译错误?它编译但没有按预期工作?
-
@Fweigl 不是编译错误。我没有得到想要的功能。
标签: android