在这个应用程序中,我正在动态创建一个带有 LinearLayout、TextView 和两个按钮的计数器对象,我希望在类中使用 onClickListener,因为这似乎是最好的解决方案。我唯一能想到的是我不知何故弄错了 ID 创建。动态创建事物的最佳实践是什么?包括应用程序和所有代码的屏幕截图。public class Counter implements View.OnClickListener { private final int subButtonId = View.generateViewId();... private void createSubButton() { subButton = new Button(context); subButton.setLayoutParams(new LinearLayout.LayoutParams(buttonWidth, LinearLayout.LayoutParams.MATCH_PARENT, 0.5f)); subButton.setText("-"); subButton.setTextSize(buttonTextSize); subButton.setId(subButtonId); subButton.setGravity(Gravity.CENTER | Gravity.CENTER_HORIZONTAL); container.addView(subButton); sub = mainContainer.findViewById(subButtonId); sub.setOnClickListener(new MyOnClickListener() { @Override public void onClick(View v) { subCount(); disp.setText(count.toString()); } }); }}class MyOnClickListener implements View.OnClickListener { public MyOnClickListener() { } @Override public void onClick(View v) { }}计数器类:https : //pastebin.com/YTHUbGFf主类:https : //pastebin.com/p3p2PPEULogcat:https ://pastebin.com/0fYSKJyj应用图片:https : //imgur.com/a/1Dfx4fJ
2 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
您无需再次查找视图。你可以打电话
subButton.setOnClickListener(...);
我看不出
container
和之间有任何关系mainContainer
。您将视图添加到您的container
,但正在从mainContainer
添加回答
举报
0/150
提交
取消