ListView显示SIM相关信息
private TelephonyManager telMgr; private List<String> item = new ArrayList<String>(); private List<String> value = new ArrayList<String>(); @SuppressWarnings("static-access") public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); /* 将取得的信息写入List中 */ /* 取得SIM卡状态 */ item.add(getResources().getText(R.string.str_list0).toString()); if (telMgr.getSimState() == telMgr.SIM_STATE_READY) { value.add("良好"); } else if (telMgr.getSimState() == telMgr.SIM_STATE_ABSENT) { value.add("无SIM卡"); } else { value.add("SIM卡被锁定或未知的状态"); } /* 取得SIM卡卡号 */ item.add(getResources().getText(R.string.str_list1).toString()); if (telMgr.getSimSerialNumber() != null) { value.add(telMgr.getSimSerialNumber()); } else { value.add("无法取得"); } /* 取得SIM卡供货商代码 */ item.add(getResources().getText(R.string.str_list2).toString()); if (telMgr.getSimOperator().equals("")) { value.add("无法取得"); } else { value.add(telMgr.getSimOperator()); } /* 取得SIM卡供货商名称 */ item.add(getResources().getText(R.string.str_list3).toString()); if (telMgr.getSimOperatorName().equals("")) { value.add("无法取得"); } else { value.add(telMgr.getSimOperatorName()); } /* 取得SIM卡国别 */ item.add(getResources().getText(R.string.str_list4).toString()); if (telMgr.getSimCountryIso().equals("")) { value.add("无法取得"); } else { value.add(telMgr.getSimCountryIso()); } /* 使用自定义的MyAdapter来将数据传入ListActivity */ setListAdapter(new MyAdapter(this, item, value));
适配器代码:
public class MyAdapter extends BaseAdapter{ /* 变量声明 */ private LayoutInflater mInflater; private List<String> items; private List<String> values; /* MyAdapter的构造器,传入三个参数 */ public MyAdapter(Context context, List<String> item, List<String> value) { /* 参数初始化 */ mInflater = LayoutInflater.from(context); items = item; values = value; } /* 因继承BaseAdapter,需覆盖以下方法 */ @Override public int getCount() { return items.size(); } @Override public Object getItem(int position) { return items.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup par) { ViewHolder holder; if (convertView == null) { /* 使用自定义的file_row作为Layout */ convertView = mInflater.inflate(R.layout.row_layout, null); /* 初始化holder的text与icon */ holder = new ViewHolder(); holder.text1 = (TextView) convertView.findViewById(R.id.myText1); holder.text2 = (TextView) convertView.findViewById(R.id.myText2); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.text1.setText(items.get(position).toString()); holder.text2.setText(values.get(position).toString()); return convertView; } private class ViewHolder { TextView text1; TextView text2; }1 楼 edison_cool911 2010-09-10 <string name="str_list0">SIM卡状态</string>
<string name="str_list1">SIM卡卡号</string>
<string name="str_list2">SIM卡供应商代号</string>
<string name="str_list3">SIM卡供应商名称</string>
<string name="str_list4">SIM卡国别</string>