如何在android的listView中添加数据;“给我一个例外”;
我使用contactPickerIntent来选择用户联系人 我想在选择用户时在listView中添加用户 代码给了我一个例外如何在android的listView中添加数据;“给我一个例外”;,android,listview,Android,Listview,我使用contactPickerIntent来选择用户联系人 我想在选择用户时在listView中添加用户 代码给了我一个例外 <Button android:id="@+id/button1" android:layout_width="300dp" android:layout_height="wrap_content" android:onClick="doLaunchContactPicker" and
<Button
android:id="@+id/button1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:onClick="doLaunchContactPicker"
android:text="Contact" />
<ListView
android:id="@+id/contactsList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.99" >
</ListView>
活动呢?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView = (ListView) findViewById(R.id.contactsList);
setContentView(R.layout.main);
}
public void doLaunchContactPicker(View view) {
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
Contacts.CONTENT_URI);
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);
}
ArrayAdapter<String> adapter;
ArrayList<String> dataArray = new ArrayList<String>();
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch (requestCode) {
case CONTACT_PICKER_RESULT:
// handle contact results
Bundle extras = data.getExtras();
Set<String> keys = extras.keySet();
Iterator<String> iterate = keys.iterator();
while (iterate.hasNext()) {
String key = iterate.next();
Log.v(DEBUG_TAG, key + "[" + extras.get(key) + "]");
System.out.println("-------------LinkedList--------------");
dataArray.add((String) extras.get(key));
}
Uri result = data.getData();
Log.v(DEBUG_TAG, "Got a result: "+ result.toString());
System.out.println(result.toString());
System.out.println("--------ArrayAdapter-------------------");
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, dataArray);
System.out.println("------------Last----------");
listView.setAdapter(adapter);
break;
}
} else {
// gracefully handle failure
Log.w(DEBUG_TAG, "Warning: activity result not ok");
}
}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
listView=(listView)findViewById(R.id.contactsList);
setContentView(R.layout.main);
}
公共无效doLaunchContactPicker(视图){
Intent contactPickerIntent=新的Intent(Intent.ACTION\u PICK,
联系人。内容(URI);
startActivityForResult(联系人选取器内容、联系人选取器结果);
}
阵列适配器;
ArrayList dataArray=新的ArrayList();
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
if(resultCode==RESULT\u OK){
开关(请求代码){
案例联系人\u选取者\u结果:
//处理联系结果
Bundle extras=data.getExtras();
Set keys=extras.keySet();
Iterator iterate=keys.Iterator();
while(iterate.hasNext()){
字符串键=iterate.next();
Log.v(DEBUG_标记,key++“[”+extras.get(key)+“]);
System.out.println(“--------------链接列表-----------------”;
add((字符串)extras.get(键));
}
Uri结果=data.getData();
Log.v(DEBUG_标记,“Got a result:+result.toString());
System.out.println(result.toString());
System.out.println(“--ArrayAdapter-----------------”;
adapter=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,dataArray);
System.out.println(“--------------最后一个------------”;
setAdapter(适配器);
打破
}
}否则{
//优雅地处理失败
w(调试标签,“警告:活动结果不正常”);
}
}
这个代码给了我一个例外
为什么要给我一个例外,以及向listview添加数据的正确方法是什么
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView = (ListView) findViewById(R.id.contactsList);
}
您应该在
setContentView(int)
方法之后找到View
。什么异常?你能给我们更多的细节吗,比如一个strack跟踪?你得到了什么例外????????