单击提交按钮时如何检查列表视图行Edittexts是否为空?

时间:2015-12-24 07:38:58

标签: android listview button android-edittext

我有ListView,使用适配器类填充行。在行中我有EditText。现在当我点击活动中的提交按钮时,我需要检查所有行编辑文本是否为空。如果任何EditText为空,我想显示吐司信息。如何实现这一目标。小代码片段需要。

4 个答案:

答案 0 :(得分:2)

我认为最简单的方法是   - 只要用户输入数据进入EditTextObject,您就可以将数据存储在List中   - 然后点击提交Button时,只需检查Object是否为空

您可以按位置<{1}}找到每个项目(行)

ListView

然后在每行中找到 public View getViewByPosition(int pos, ListView listView) { final int firstListItemPosition = listView.getFirstVisiblePosition(); final int lastListItemPosition = firstListItemPosition + listView.getChildCount() - 1; if (pos < firstListItemPosition || pos > lastListItemPosition ) { return listView.getAdapter().getView(pos, null, listView); } else { final int childIndex = pos - firstListItemPosition; return listView.getChildAt(childIndex); } }

EditText

最后检查是否为空

EditText editText  = getViewByPosition(pos,listView).findViewById(R.id.editext_id);

希望这个帮助

答案 1 :(得分:1)

像这样的东西

EditText usernameEditText = (EditText) findViewById(R.id.editUsername);
sUsername = usernameEditText.getText().toString();
if (sUsername.matches("")) {
    Toast.makeText(this, "You did not enter a username", Toast.LENGTH_SHORT).show();
    return;
}

这是一个例子。当然,您需要先从行中获取此EditText。

答案 2 :(得分:0)

循环浏览列表视图的项目,从listview项目中获取 TextView 并检查其文本的长度

您可以获取类似以下Link

的列表视图项
for(int i = 0; i<listview.getCount(); i++){
        TextView tv = ((View)listview.getViewByPosition(i, listview)).findViewById(R.id.textView);
        if(tv.getText().toString().length() == 0){
            tv.setError("This is required");
        }
    }

答案 3 :(得分:0)

这将帮助您查找列表的空单元格:

<div id="fullpage" style="height: 40px; max-height:200px; width: 500px;">
    <div class="section " id="section0">
        <div class="intro">
            <h1>Responsive</h1>
            <p>This example will turn to normal scroll when the window size gets smaller than 600px height</p>
        </div>
    </div>
    <div class="section" id="section1">
        <div class="slide" id="slide1">
            <div class="intro">
                <h1>Ideal for small screens</h1>
            </div>
        </div>
        <div class="slide" id="slide2">
            <h1>This example uses responsiveHeight: 600</h1>
        </div>
    </div>
    <div class="section" id="section2">
        <div class="intro">
            <h1>Keep it simple!</h1>
        </div>
    </div>
</div>