- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 android studio 中制作一个带有复选框的待办事项列表,我的想法是每次按下按钮时都能够将复选框添加到线性布局中。这非常简单,但我希望能够在我创建它后单击它时更改复选框文本。
我试图让文本框没有文本,只是在它旁边放置一个纯文本,但我还没有找到将它们放在线性布局的同一行的方法。纯文本仅出现在下面的行中。我想知道是否有任何方法可以制作自定义组件,在单击文本时使复选框文本可编辑,并在单击复选框本身时选中复选框,我可以将其放置在线性布局中。
这是我为向线性布局添加另一个复选框而完成的代码:
public void click(View v)
{
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
CheckBox cb=new CheckBox(this);
cb.setLayoutParams(lparams);
cb.setText(t.getText());
this.ll.addView(cb);
}
最佳答案
检查复选框是什么:Checkbox source
现在您知道您有一个“CompoundButton”,如果您查看 source
如果您查看源代码,这是一个 TextView source
EditText,用于编辑文本,如果勾选 source,它是一个 TextView
因此,它的父级是一个 TextView,在您的自定义组件中,您必须将 EditText 添加的功能和值组合到您的 CheckBox 中。如果您有时间并且不懒惰,您肯定可以这样做,只需扩展 CheckBox 并添加事件和处理。
BAHMAN 提供的解决方案既快速又简单(但对我来说不够优雅),如果你想要快速的结果,你可以执行该解决方案或基于该解决方案:
在 .xml 布局中声明一个名为“container”的 View 。在您的代码(运行时)中,首先添加复选框。在 Click 事件上删除复选框(如果您没有在 .xml 中添加,但可以在代码中添加)并添加一个编辑文本,您可以在其中收听完成编辑事件。然后删除编辑文本并放回复选框。在这种情况下,您没有将组件和监听器加倍。
因为它是一个TODO列表,可以有很多复选框,我会选择我提供的最后一个解决方案。如果你做一个昂贵的商业产品,而不是我提供的第一个解决方案。
关于java - 如何在android studio中单击时使复选框可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53876856/
我是一名优秀的程序员,十分优秀!