yuashuai 2016-08-30 14:43 采纳率: 41.7%
浏览 2137
已采纳

Android,Fragment中的ListView为何不显示

这是Fragment的代码

 public class LeftMenuFragment extends BaseFragment {

    private ListView listView;
    private ArrayList<NewsMenu.NewsMenuData> menuDatas;
    private MyAdapter myAdapter;
    private View view;

    @Override
    public View initView() {
        view = View.inflate(mActivity, R.layout.sliding_left_menu,null);
        listView = (ListView) view.findViewById(R.id.lv_left_menu);
        return view;
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return initView();
    }

    @Override
    public void initData() {

    }

    /**
     * 更新LeftMenu
     * @param datas
     */
    public void setLeftMenu(ArrayList<NewsMenu.NewsMenuData> datas)
    {
        menuDatas = datas;
        for(NewsMenu.NewsMenuData newsMenuData:menuDatas)
        {
            System.out.println(newsMenuData.toString());

        }
        myAdapter = new MyAdapter();
        listView.setAdapter(myAdapter);

    }

    //ListView的Adapter
    class MyAdapter extends BaseAdapter{

        @Override
        public int getCount() {
            return menuDatas.size();
        }

        @Override
        public NewsMenu.NewsMenuData getItem(int position) {
            return menuDatas.get(position);
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = View.inflate(mActivity, R.layout.item_listview_left_menu,
                    null);
            TextView tvMenu = (TextView) view.findViewById(R.id.tv_item_listview_leftmenu);

            NewsMenu.NewsMenuData item = getItem(position);
            tvMenu.setText(item.title);

            return view;
        }

    }
}

这是布局文件的代码

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/sliding_left_menu"
    android:background="#000"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#fff"
        android:gravity="center_horizontal"
        android:textSize="20sp"
        android:text="你好"/>
    <ListView
        android:id="@+id/lv_left_menu"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="80dp"/>
</LinearLayout>

这里面的TextView“你好”是可以显示出来的,当远程调用Fragment中的setLeftMenu方法,为何ListView不显示呢,

  • 写回答

3条回答 默认 最新

  • 大白大白大白 2016-08-31 01:58
    关注

    断点调试下走到适配器的时候数据源是否为空。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能