我在Android应用程序中的xml文件上有一个简单的过滤器:
public void runFilter() {
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.list_item, R.id.productInfo, xmlr());
setListAdapter(adapter);
EditText filterEditText = (EditText) findViewById(R.id.filterText);
filterEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
//like to return a message or line of text "No Results"
adapter.getFilter().filter(s.toString());
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
// clear edittext contents for next scan
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText et = (EditText) findViewById(R.id.filterText);
et.setText("");
}
});
}
我想让listview显示一条消息“没有找到任何项目”或类似的东西......
我在onTextChanged中尝试过if else,但没有得到结果......
if(s.toString().equals(null)){
//show message
}else{
//show results
}
我错过了什么?
编辑:::
如果我添加一个Toast,例如,对于afterTextChanged,我会在吐司中得到一些东西......我猜这可能有效。
答案 0 :(得分:0)
这个问题的回答是:https://stackoverflow.com/a/3771631/350421
就这样说:
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="No Results" />
...在您的XML布局中。
我的结果如下: <TextView
android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tv"
android:gravity="center"
android:text="No Results... Scan next item." //use @string here...
android:textSize="20sp" />