<>其中一个例子异常
<<android应用开发揭秘>>其中一个例子错误
运行的时候,这ListAdapter adapter = new SimpleCursorAdapter(...) Caused by: java.lang.IllegalArgumentException: column 'number' does not exist
是什么原因呢
------解决方案--------------------
2.0之后,获取联系人信息的URI不同了。。
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2, cur,
new String[] { PhoneLookup.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER },
new int[] { android.R.id.text1, android.R.id.text2 });
- Java code
public class ListViweActivity extends Activity { LinearLayout m_LinearLayout = null; ListView m_ListView = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); m_LinearLayout = new LinearLayout(this); m_LinearLayout.setOrientation(LinearLayout.VERTICAL); m_LinearLayout.setBackgroundColor(Color.BLACK); m_ListView = new ListView(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); m_LinearLayout.addView(m_ListView, params); setContentView(m_LinearLayout); //获取数据库Phones的Cursor Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); startManagingCursor(cur); ListAdapter adapter = new SimpleCursorAdapter(this, // 定义List中每一行的显示模板 // 表示每一行包含两个数据项 android.R.layout.simple_list_item_2, // 数据库的Cursor对象 cur, // 从数据库的NAME和NUMBER两列中取数据 new String[] { PhoneLookup.DISPLAY_NAME, PhoneLookup.NUMBER }, // 与NAME和NUMBER对应的Views new int[] { android.R.id.text1, android.R.id.text2 }); m_ListView.setAdapter(adapter); } }
运行的时候,这ListAdapter adapter = new SimpleCursorAdapter(...) Caused by: java.lang.IllegalArgumentException: column 'number' does not exist
是什么原因呢
------解决方案--------------------
2.0之后,获取联系人信息的URI不同了。。
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2, cur,
new String[] { PhoneLookup.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER },
new int[] { android.R.id.text1, android.R.id.text2 });