android - 如何检查Listview是否为空

标签 android android-listview parse-platform

我的 Activity 查询我的解析数据库,然后返回查询的数据。数据以 ListView 中的名称存储。但我不知道如何检查 ListView 是否为空。我希望它发布一条警报,说 ListView 在事件下是空的。这是我的 Activity

public class OfferPage extends Activity {
    String obj;
    ProgressDialog mProgressDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_offer_page);

        Intent i = getIntent();
        obj = i.getStringExtra("RestName");
        populateList(obj, "Restraunt");

    }

    private void populateList(final String Value, final String Key) {
        ParseQueryAdapter.QueryFactory<ParseObject> factory = new ParseQueryAdapter.QueryFactory<ParseObject>() {

            @Override
            @SuppressWarnings({ "unchecked", "rawtypes" })
            public ParseQuery create() {
                ParseQuery query = new ParseQuery("Offers");
                query.whereEqualTo(Key, Value);
                return query;
            }
        };
        ParseQueryAdapter<ParseObject> adapter = new ParseQueryAdapter<ParseObject>(
                this, factory);
        adapter.setTextKey("Offer");
        adapter.addOnQueryLoadListener(new OnQueryLoadListener<ParseObject>() {

            @Override
            public void onLoading() {
                mProgressDialog = new ProgressDialog(OfferPage.this);
                mProgressDialog.setTitle("Searching for Offers");
                mProgressDialog.setMessage("Loading...");
                mProgressDialog.setIndeterminate(false);
                mProgressDialog.show();
            }

            @Override
            public void onLoaded(List<ParseObject> objects, Exception e) {
                mProgressDialog.dismiss();
            }
        });

        final ListView listView = (ListView) findViewById(R.id.offerList);
        listView.setAdapter(adapter);
    }

我的主要问题是,如果列表为空,我似乎无法确定将支票放在哪里。有什么建议吗?

最佳答案

您必须控制适配器是否为空,而不是 ListView ,因为适配器保存值。

      if (adapter== null) {
            adapter= new  ParseQueryAdapter(this,getElements());
            eList.setAdapter(adapter);
        } else {
            adapter.addAll(getElements());
        }

关于android - 如何检查Listview是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25692484/

相关文章:

java - 长按 ListView 项目时删除 ListView 项目

ios - 帖子未按顺序显示

android - fragment 内的 LocationManager

android list 错误@xml/文件路径

android - 如何反序列化 JSON 对象但将特定字段保留为字符串而不是嵌套对象?

android - 更新 ListView 时保持当前滚动位置

android - 单击 listViewItem 时显示带有单选按钮的 alertDialog

javascript - 使用 Android 和 JavaScript api 访问相同的 ParseObject

android - Parse.com 查询 getFirst() 异常

android - 无法缩小 Realm 添加到应用程序的大小