Отображать имя и номер телефона в флажках

Я пытаюсь получить список контактов из собственной базы данных с их отображаемым именем и номером телефона и отображать каждый из них в флажке, но это не работает со мной.

Вот запрос, над которым я работал

LinearLayout ll;
CheckBox ch1;
String name;
String number;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main1);
Button save = (Button) findViewById(R.id.bSave);
Button retur = (Button) findViewById(R.id.bReturn); 
retur.setOnClickListener(this);
ch1= (CheckBox)findViewById(R.id.checkBox1);
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null,null, null, null);
Cursor phones = cr.query(Phone.CONTENT_URI, null,null,null,null);   
String number= phones.getString(phones.getColumnIndex(Phone.NUMBER));  
String contactId =cursor.getString(cursor.
           getColumnIndex(ContactsContract.Contacts._ID)); 
 ch1.setText(contactId+"  :  "+number);    
}

помощь


person Wael Ilahi    schedule 19.02.2012    source источник


Ответы (2)


Убедитесь, что вы отправляете фактическую строку в свой флажок. Я только что проверил это, и ДА, вы можете установить текст на флажке. Я не знаю, почему thinksteep говорит, что вы не можете. попробуй это:

ch1.setText (String.valueOf (contactId) + " : " + String.valueOf (число));

person bwoogie    schedule 19.02.2012
comment
Да, я проверял это, но всегда есть ошибка... Я думаю, что ошибка исходит отсюда: ContentResolver cr = getContentResolver(); Курсор курсора = cr.query (ContactsContract.Contacts.CONTENT_URI, null, null, null, null); Телефоны курсора = cr.query(Phone.CONTENT_URI, null,null,null,null); Номер строки = phone.getString (phones.getColumnIndex (Phone.NUMBER)); Строка contactId =cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); ch1.setText(contactId+: +номер); } - person Wael Ilahi; 20.02.2012
comment
ну, это довольно много кода... в какой строке логарифм говорит, что это? какая ошибка? - person bwoogie; 20.02.2012
comment
также убедитесь, что вы закрыли курсор, когда закончите с ним. - person bwoogie; 20.02.2012
comment
ошибки из logcat-------› 1/02-19 22:12:09.427: E/AndroidRuntime(3556): java.lang.RuntimeException: невозможно запустить активность ComponentInfo{wael.ilahi.pfe/wael .ilahi.pfe.Secure1}: java.lang.IllegalArgumentException: недопустимые данные столбца1 2/02-19 22:12:09.427: E/AndroidRuntime(3556): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685) - person Wael Ilahi; 20.02.2012

Флажки представляют только два состояния (истина/ложь). Вы не можете установить текст для флажков. Обратитесь к документации Android для флажка. Возможно, вам придется пересмотреть свою стратегию.

person kosa    schedule 19.02.2012