我有ListView
,使用适配器类填充行。在行中我有EditText
。现在当我点击活动中的提交按钮时,我需要检查所有行编辑文本是否为空。如果任何EditText
为空,我想显示吐司信息。如何实现这一目标。小代码片段需要。
答案 0 :(得分:2)
我认为最简单的方法是
- 只要用户输入数据进入EditText
或Object
,您就可以将数据存储在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>