如何使 EditText 在 ListView 中正常工作?

发布于 2024-09-05 00:28:12 字数 318 浏览 5 评论 0原文

大家好,

我有一个 ListView,其中每一行都包含一个 EditText。我还有一个数组。数组的长度==ListView 中的行数。

我想将用户输入(EditText 中的文本)存储到数组中。例如,如果我在 ListView 第一行的 EditText 中输入一些文本,我希望该文本存储在 Array[0] 中。但是我如何检测 EditText 属于哪一行?如果该行包含 RadioGroup 但不包含 EditText,我可以检测到该行的位置。

如果我首先在 EditText 中输入一些文本,稍后我想更新我的输入,该怎么办?我怎样才能更新它?

多谢!

Hallo all,

I have a ListView, which contains an EditText in each of it's row. I also have an Array.The length of the Array==the Nr of the rows in the ListView.

I want to store the user input (the text in the EditText) to the Arrray. E.g, if i type some text in the EditText in the first row of the ListView, i want the text to be stored in Array[0]. But how can i detect to which row the EditText belongs to? I can detect the possition of the row if the row contains a RadioGroup, but not a EditText.

What if i first type some text in the EditText and sometime later i want to update mein Input? How can i update it?

Thanks a lot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

路还长,别太狂 2024-09-12 00:28:12

EditText 扩展了 Text,而 Text 又扩展了 View。所以你应该能够使用 ID 或标签,不是吗?

EditText extends Text which extends View. So you should be able to use ID's or Tag's don't you ?

少年亿悲伤 2024-09-12 00:28:12

或者,您可以执行类似

//adapter's getView:
final int pos = positon;
EditText et = new EditText(context);

et.setOnKeyListener(new OnKeyListener() {

    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if ((event.getAction() == KeyEvent.ACTION_DOWN) && 
            (keyCode == KeyEvent.KEYCODE_ENTER)) 
        {
            vals[pos] = et.getText().toString();
            return true;
        }
        return false;
    }
});

警告*的操作,该警告来自头部,未经测试。不提供任何保证。

Alternatively, you can do something like this

//adapter's getView:
final int pos = positon;
EditText et = new EditText(context);

et.setOnKeyListener(new OnKeyListener() {

    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if ((event.getAction() == KeyEvent.ACTION_DOWN) && 
            (keyCode == KeyEvent.KEYCODE_ENTER)) 
        {
            vals[pos] = et.getText().toString();
            return true;
        }
        return false;
    }
});

warning* this comes from the head, not tested. no waranty provided.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文