我有這個下面的代碼如何在android中讀取android.R.id.text2?
public class Contacts extends ListActivity {
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Cursor cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
startManagingCursor(cursor);
String[] from = { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone._ID };
int[] to = { android.R.id.text1, android.R.id.text2 };
ListAdapter listadapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice, cursor,
from, to);
setListAdapter(listadapter);
lv = getListView();
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
lv.setItemsCanFocus(false);
lv.setTextFilterEnabled(true);
final int check = lv.getCheckedItemPosition();//lv.getCheckedItemIds();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
TextView tv = (TextView) arg1.findViewById(android.R.id.text2);
String aa = (String) tv.getText();
String ab = lv.getItemAtPosition(arg2).toString();
int ac = lv.getSelectedItemPosition();
System.out.println("wow "+ab +" ww "+ ac + " "+ aa);
Toast.makeText(Contacts.this, ((TextView) arg1).getText(), Toast.LENGTH_LONG).show();
}
});
}
}
我想從ListView
閱讀次數一部分,到目前爲止,我沒有能夠做到這一點。 我甚至嘗試 TextView tv = (TextView) arg1.findViewById(android.R.id.text2);
String test = tv.getText().toString();
但我總是NullPointerException
基本上我想要把所有從我的手機的聯繫人列表中的聯繫人,這樣我可以一次選擇多個聯繫人。 請幫忙!
謝謝,但這樣做沒有返回數只選擇了該id路徑。我試過'.toString()'也沒有幫助。 – 2013-02-24 11:29:55
@AhmedDurrani實際上確實有效。它返回一個CursorWrapper的實例。我已經更新了我的答案,以顯示如何從這個單一項目獲取所有可以使用的信息。順便說一句,在你的代碼中有許多被棄用的方法和類。不知道有什麼選擇,但你可以隨時使用你自己的實現(使用baseAdapter)。 - – 2013-02-26 20:40:56