是否可以将视图传递给 ListView 适配器 class?

Is it possible to pass view to ListView Adapter class?

我的 layout.I 中有一个 TextView 和一个 ListView 正在执行筛选操作,结果设置在 ListView.If 结果为空,然后我想设置 "No results"在我的文本视图中。 是否可以通过适配器的构造函数传递 TextView class 以便我可以在结果为空时设置文本?

您可以使用 setEmptyView().

  1. 在您的布局中,将 TextView 的可见性设置为 android:visibility="gone"
  2. 在您的 activity 上,使用 setEmptyView()

    TextView 的实例设置为 ListView
    ListView listView = (ListView) findViewById(R.id.your_list_view);
    listView.setEmptyView(findViewById(R.id.your_empty_text_view));
    

我通过构造函数传递了我的 TextView 并检查了 publishResults 中的结果并相应地设置了可见性

@Override
    protected void publishResults(CharSequence constraint,
            FilterResults results) {

        try{
        filteredModelItemsArray=new ArrayList<MarkerRowItem>();
        filteredModelItemsArray = (ArrayList<MarkerRowItem>) results.values;

        if(results != null && results.count > 0) {
            notifyDataSetChanged();
            noResultTextView.setVisibility(View.GONE);
        } else {
            notifyDataSetInvalidated();
            noResultTextView.setVisibility(View.VISIBLE);
        }
        }

        catch(Exception e)
        {
            e.printStackTrace();
        }
    }