如何不在列表视图中显示从 Parse.com 检索到的空字段

How to not display the empty field retreived from Parse.com in listview

我在解析服务器中创建了三列 "class1" "class2 "class3"。并将每列检索到不同的 activity。 table

一些 table 字段是空的。所以当我检索它时,它在列表视图中显示空字段 并给出错误 "Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference" for undefined field

我知道我可以为每一列创建不同的 类 并检索但想知道有什么方法可以不在列表视图中显示空字段。

Activity.java

    public class topics_class1 extends AppCompatActivity {


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

        final ArrayList<String> topics1 = new ArrayList<>();

        final ListView listView = findViewById(R.id.listView_topics_class1);
        final ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, topics1);

        ParseQuery<ParseObject> query = ParseQuery.getQuery("Topics");
        query.findInBackground(new FindCallback<ParseObject>() {
            @Override
            public void done(List<ParseObject> objects, ParseException e) {
                if (e == null){
                    for (ParseObject topic : objects){

                        topics1.add(topic.getString("class_2"));

                    }
                    listView.setAdapter(arrayAdapter);

                    }
                else {
                    e.printStackTrace();
                }
            }

        });      
    }
}

只需跳过空值。

String text = topic.getString("class_2");
if(text != null && !text.isEmpty()) {
    //topics1.add(..
}

更新:如果你需要 "empty cell" 然后分配空字符串而不是 null:

topics1.add("");