Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android的listView中添加数据;“给我一个例外”;_Android_Listview - Fatal编程技术网

如何在android的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

我使用contactPickerIntent来选择用户联系人 我想在选择用户时在listView中添加用户 代码给了我一个例外

<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跟踪?你得到了什么例外????????