ListView.Empty当ListAdapter为空时,视图不显示

时间:2013-05-01 15:10:25

标签: android xamarin.android

我有一个扩展ListActivity的Activity来显示一些搜索结果。一切都工作正常,除非没有结果(适配器为空)我不能让EmptyView显示描述这个的文本。请参阅下面的代码。

protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        var description = Intent.GetStringExtra("Description");
        var partResults = this.partsClient.GetPartsSearchResults(description);
        this.results = partResults;
        var textView = new TextView(ListView.Context);
        textView.Text = "No Results...";
        this.ListView.EmptyView = textView;
        this.ListAdapter = new PartsListAdapter(this, results);

    }

任何人都可以看到这段代码有什么问题,为什么文字"没有结果......"当适配器结果为空时不会显示?

2 个答案:

答案 0 :(得分:2)

在致电setEmptyView()之前插入以下

((ViewGroup)this.ListView.getParent()).addView(textView);

这是因为EmptyView通过切换布局上现有视图的可见/不可见状态来工作,它不会将该视图添加到布局中。

答案 1 :(得分:0)

尝试将Empty TextView设置为

this.listView.setEmptyView(findViewById(R.id.emptyElement));

http://developer.android.com/reference/android/widget/AdapterView.html#setEmptyView%28android.view.View%29