public class FragmentLeft extends Fragment { public ListView lv;
LeftAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EventBus.getDefault().register(this);
} @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.text,
container, false);
return rootView;
} @Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
List<String> list = new ArrayList<String>();
list.add("111");
list.add("222");
list.add("33");
list.add("44");
EventBus.getDefault().post(list, "listTag");
} catch (InterruptedException e) {
e.printStackTrace();
} }
}).start();
} @Subscriber(tag = "listTag",mode = ThreadMode.MAIN)
private void getData(List<String> list) { Log.i("mytag", "---- list = " +list.size()); adapter.setData(list);
adapter.notifyDataSetChanged(); //setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,android.R.id.text1,list));
}
@Override
public void onDestroy() {
EventBus.getDefault().unregister(this);
super.onDestroy();
}
}这 @Subscriber(tag = "listTag",mode = ThreadMode.MAIN)不是到UI线程了吗,list集合也有数据,但死活就是不走getViwe()
LeftAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EventBus.getDefault().register(this);
} @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.text,
container, false);
return rootView;
} @Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
List<String> list = new ArrayList<String>();
list.add("111");
list.add("222");
list.add("33");
list.add("44");
EventBus.getDefault().post(list, "listTag");
} catch (InterruptedException e) {
e.printStackTrace();
} }
}).start();
} @Subscriber(tag = "listTag",mode = ThreadMode.MAIN)
private void getData(List<String> list) { Log.i("mytag", "---- list = " +list.size()); adapter.setData(list);
adapter.notifyDataSetChanged(); //setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,android.R.id.text1,list));
}
@Override
public void onDestroy() {
EventBus.getDefault().unregister(this);
super.onDestroy();
}
}这 @Subscriber(tag = "listTag",mode = ThreadMode.MAIN)不是到UI线程了吗,list集合也有数据,但死活就是不走getViwe()
解决方案 »
- android Service一直运行一个程序
- android 内容滚动问题
- 看到大量的Android代码使用e.printStackTrace来输出错误信息,从哪里看?
- requestSingleUpdate
- activity 转向中间出现黑屏.一会儿就好了。
- 如何Android Widget中运用Skia绘制要显示的内容
- 关于spinner赋值取值的问题
- 如何通过http协议访问tomcat url
- 从接口获取数据出现问题(新手求助~)
- 求软键盘出现界面上推的距离可以自己控制的方法
- alarmManager闹钟无效
- Android的DownloadManager.Request使用一个问题,如何打开系统的下载管理?
public void updateListView(List<String, String> newlist) {
this.list = newlist;
notifyDataSetChanged();
}然后在需要更新UI的时候调用这个方法:
adapter.updateListView(list);
public void updateListView(List<String> newlist) {
this.list = newlist;
notifyDataSetChanged();
}