这是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不显示呢,