Показвано име и телефонен номер(а) в квадратчетата за отметка

Опитвам се да получа списък с контакти от основната база данни с тяхното показвано име и телефонен номер и да покажа всеки един в квадратче за отметка, но не работи с мен

Ето запитването, върху което работя

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(); Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null); Cursor phones = cr.query(Phone.CONTENT_URI, null,null,null,null); Номер на низ= phones.getString(phones.getColumnIndex(Phone.NUMBER)); String contactId =cursor.getString(cursor. getColumnIndex(ContactsContract.Contacts._ID)); ch1.setText(contactId+ : +номер); } - person Wael Ilahi; 20.02.2012
comment
добре, това е доста малко код... logcat на кой ред казва, че е включен? каква грешка? - 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): в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685) - person Wael Ilahi; 20.02.2012

Квадратчетата за отметка представляват само две състояния (вярно/невярно). Не можете да зададете текст в квадратчетата за отметка. Вижте документацията за Android за квадратче за отметка. Може да се наложи да преразгледате стратегията си.

person kosa    schedule 19.02.2012