public class NasActivity extends Activity {
public static final String TAG = "nasActivity";
private Context mContext;
ListView list;
SimpleAdapter adapter;
private int Pre_Num = 0;
private String[] info;
private String pre_name="~$";
private String[] name={""};
public BroadcastReceiver XXXX = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
....
updateview();
}
};
private void updateview() {
getInfo();
adapter =new SimpleAdapter(this, getData(), R.layout.listitems,
new String[] {"name","info"},
new int[] {R.id.name,R.id.info});
list.setAdapter(adapter);
}
private void getInfo()
{ ......
change the info[];
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.nasview);
list = (ListView) findViewById(R.id.ListView01);
Pre_Num=name.length;
info =new String[Pre_Num];
this.registerReceiver(XXXX, new IntentFilter(
"intent.action.XXXX"));
getInfo();
adapter =new SimpleAdapter(this, getData(), R.layout.listitems,
new String[] {"name","info"},
new int[] {R.id.name,R.id.info});
list.setAdapter(adapter);
}
private List<Map<String,Object>> getData(){
List<Map<String, Object>> list =new ArrayList<Map<String,Object>>();
Map<String, Object> map =new HashMap<String, Object>();
for(int i=0;i<Pre_Num;i++)
{
map =new HashMap<String, Object>();
map.put("name", name[i]+pre_name);
map.put("info", info[i]);
list.add(map);
}
return list;
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
this.unregisterReceiver(XXXX);
super.onDestroy();
}
}
解决方案 »
- 如何判断手机桌面是否已经存在某个快捷方式
- Android 自己按照SDK例子开发了一个输入法,想让它作为默认输入法
- Google Map apiKey申请
- android平台上, 芯片的BSP包中串口驱动问题
- 如何找出所有传入是ComponentName对象的API,或者返回ComponentName对象的API
- 关于IMSDroid
- 请问多网络可用的情况下,能控制用哪个吗?
- 关于android cdma2000上网的问题
- contentProvider求解
- Android视频监控解决方案
- Android4.0怎么添加孟加拉语?
- 关于setting的string.xml里的product属性的问题
有人说SimpleAdapter 是静态的,若要刷新用notifyDataSetChanged,必须要自己继承baseadapter自己写
SimpleAdapter 是静态的? 这句话没看懂,SimpleAdapter就是继承的BaseAdapter用notifyDataSetChanged()肯定可以的,要保证其第一次绑定的数据源按你需要的改变
你getData()方法每个返回一个新的引用是不行的