为什么将适配器设置为listView不显示列表内容?

时间:2015-01-05 13:37:10

标签: java android listview android-listview

我尝试使用以下代码填充listView:

private void getPhoneComments(View rootView) {
    String phoneNumber = ((EditText) rootView.findViewById(R.id.phone_editText)).getText().toString();
    Phone phone = phoneDal.getItem(phoneNumber);
    if (phone != null) {
        List<String> comments = commentDal.getAllItems(phone.id);
        ListView lv = ((ListView) rootView.findViewById(R.id.comments_list));
        // This is the array adapter, it takes the context of the activity as a
        // first parameter, the type of list view as a second parameter and your
        // array as a third parameter.
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(
                getActivity(),
                android.R.layout.simple_list_item_1,
                comments);

        lv.setAdapter(arrayAdapter);
    }
}

但列表仍然没有显示在屏幕上。

1)我什么时候需要添加invalidate data 或者我需要改变什么才能使代码工作?

2)如果长按每个列表项,我怎么能显示一个选项弹出窗口?

编辑:

phone != null

comments != empty

lv设置正常:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    rootView = inflater.inflate(R.layout.fragment_item_detail, container, false);
    setCommentsVisibility(rootView, false);

    lv = ((ListView) rootView.findViewById(R.id.comments_list));

enter image description here

0 个答案:

没有答案