我花了将近2天的时间来解决这个问题。我也搜索了其他类似的问题,但仍然找不到解决这个问题的方法。真的很感谢帮助。 @Override public void addField() { if (countTv < 7) { allTextView[countTv] = new TextView(this); allTextView[countTv].setId(countTv); button = new Button(this); linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(0, 50, 0, 0); button = findViewById(R.id.bt_new_field); LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); final View rowView = inflater.inflate(R.layout.search_field, null); allTextView[countTv].setOnClickListener(listener); llParentField.addView(rowView, layoutParams); } countTv++; } View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()){ case 0: tag = v.getId(); toSearchActivity(); break; case 1: tag = v.getId(); toSearchActivity(); break; case 2: tag = v.getId(); toSearchActivity(); break; case 3: tag = v.getId(); toSearchActivity(); break; } } };注意:我已经尝试了如何实现 View.OnClickListener 的所有可能方法,但仍然无法单击新添加的 TextView。忘记我代码中的按钮,这并不重要。非常感谢你的帮助!
2 回答
繁星coding
TA贡献1797条经验 获得超4个赞
对于每个视图组件,我们可以像 TextView 一样调用 setOnclickLister()。
你可以这样写:
allTextView[countTv].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Code here executes on main thread after user presses button
}
});
添加回答
举报
0/150
提交
取消