过滤Null然后返回列表中的消息或TextView Vs返回任何内容

时间:2013-06-18 20:40:33

标签: android filtering

我在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,我会在吐司中得到一些东西......我猜这可能有效。

1 个答案:

答案 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" />