在复选框中显示名称和电话号码

时间:2012-02-19 20:12:54

标签: android android-contacts contactscontract

我正在尝试使用显示名称和电话号码从本机数据库中获取联系人列表,并在复选框中显示每个联系人,但它不能与我一起使用

以下是我一直在处理的查询

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);    
}

帮助

2 个答案:

答案 0 :(得分:1)

确保您正在向您的复选框发送实际字符串。我只是测试了它,是的你可以在一个复选框上设置文本。我不知道为什么thinksteep说你不能。试试这个:

ch1.s​​etText(String.valueOf(contactId)+“:”+ String.valueOf(number));

答案 1 :(得分:0)

复选框仅代表两种状态(true / false)。您无法将文本设置为复选框。请参阅checkbox的android文档。你可能需要重新考虑你的战略。