【问题标题】:Change listview layout if empty [duplicate]如果为空,则更改列表视图布局[重复]
【发布时间】:2016-09-14 07:13:30
【问题描述】:

我使用适配器来设置项目布局并从 JSON 字符串填充 ListView。有时这个 JSON 是空的,ListView 中没有任何行,它是完全空白的。

在这种情况下,我想更改视图并传递另一个显示“这里没有任何行”的布局。

这是我的代码:

MainActivity.java

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView listView = (ListView) findViewById(R.id.listView);
        List list = new LinkedList();

        [...fill list...]

        ListAdapter adapter = new ListAdapter(this, R.layout.list_row_layout, list, R.id.edCod, R.id.edDes);
        listView.setAdapter(adapter);
    }
}

ListAdapter.java

public class ListAdapter extends ArrayAdapter<Adapter> {
    private LayoutInflater layoutInflater;
    private int layout;
    private int textCod;
    private int textDes;

    public FruttaAdapter(Context context, int layout, List<Adapter> objects, int textCod, int textDes) {
        super(context, layout, objects);

        this.layout = layout;
        this.textCod = textCod;
        this.textDes = textDes;
        layoutInflater = LayoutInflater.from(context);
    }

【问题讨论】:

  • 我们需要一个模组来标记这是一个完全相同的副本
  • 对于@Simone,将“Android Studio:”添加到您的问题或作为标签是没有意义的。不使用 Android Studio 也可以有同样的问题。该标签专门针对关于 IDE 本身的问题,而不是编写代码的过程

标签: android android-layout layout-xml


【解决方案1】:

您可以使用listView.setEmptyView(yourEmptyView)

【讨论】:

  • 请投票以重复关闭
【解决方案2】:

实际上,您可以使用ListActivityListFragment 并使用其EmptyView(任何ID 为android.R.id.empty 的视图)

【讨论】:

  • 其实是android.R.id.empty,和@android:id/empty,但在重复帖子中讨论过
  • 是的,投票接近。但还是改正了。
猜你喜欢
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 2018-03-16
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多