Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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\u bookList_Android_Android Fragments_Android Listview - Fatal编程技术网

Android 错误:找不到符号变量listView\u bookList

Android 错误:找不到符号变量listView\u bookList,android,android-fragments,android-listview,Android,Android Fragments,Android Listview,我的碎片-->碎片网 package com.example.jerry.myapp; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android

我的碎片-->碎片网

package com.example.jerry.myapp;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import java.util.ArrayList;
import android.widget.ArrayAdapter;

public class FragmentOne extends Fragment {

ArrayList<String> bookList;

public static Fragment newInstance(Context context) {
    FragmentOne f = new FragmentOne();
    return f;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    ViewGroup root = (ViewGroup) inflater.inflate(R.layout.fragment_one, null);
    inflatebookList(root);
    return root;
}

void inflatebookList(ViewGroup root){
    ListView lv = (ListView) root.findViewById(R.id.listView_bookList);
    bookList = new ArrayList<String>();
    getBookNames();
    ArrayAdapter<String> arrayAdapter =
            new ArrayAdapter<String>(getActivity(),R.layout.simple_list_item_1,bookList);
    lv.setAdapter(arrayAdapter);

   /* bookList.setOnItemClickListener(new OnItemClickListener()
    {
        // argument position gives the index of item which is clicked
        public void onItemClick(AdapterView<?> arg0, View v,int position, long arg3)
        {
            String selectedBook=bookList.get(position);
            Toast.makeText(getApplicationContext(), "Book Selected : "+selectedBook,   Toast.LENGTH_LONG).show();
        }
    });*/
}

void getBookNames()
{
    bookList.add("Book 1");
    bookList.add("Book 2");
    bookList.add("Book 3");        
}
编译失败;有关详细信息,请参阅编译器错误输出


您已经显示了两个错误,其中一个现在已通过编辑问题删除

使用您创建的资源
一个错误是使用
findViewById
绑定视图时,未能找到
android.R.id.listView\u bookList

将视图查找更改为:

ListView lv = (ListView) root.findViewById(R.id.listView_bookList);
添加导入:

import com.example.jerry.myapp.R;
使用Android SDK提供的资源 第二个错误是“找不到符号变量simple\u list\u item\u 1”。这是因为您删除了
R.layout.simple\u list\u item\u 1
的android前缀

使用此命令实例化
阵列适配器

ArrayAdapter<String> arrayAdapter =
        new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, bookList);
ArrayAdapter ArrayAdapter=
新的ArrayAdapter(getActivity(),android.R.layout.simple\u list\u item\u 1,bookList);

ArrayAdapter
创建中使用
android.R.layout.simple_list_item_1
是正确的,因为它引用了android SDK中提供的布局。您可以在此处阅读更多内容:

ArrayAdapter
正在查找第一个参数的上下文,而不是片段。那么我应该用什么替换片段呢?我这样做了,但第一个错误仍然存在,即。,找不到符号变量listView\u bookList
android.R.id.listView\u bookList
->
R.id.listView\u bookList
并导入与包名匹配的R谢谢您添加导入。你能看到下面列出的更改是否解决了你的问题吗?应该是
R.id.listView\u bookList
not
android.R..
No,R在查看你生成的id列表,而android.R在查看android的sdk id列表。您定义了id,因此需要从您的R文件中引用它。@dharms:即使在R.id.listView\u booklist之后,问题仍然存在。很抱歉,我在那里键入得太快了。谢谢你,达姆斯。杰瑞,你能把整个错误都粘贴到你的问题里吗?@Derek:还有其他的进口产品或包装要包括在内吗?
import com.example.jerry.myapp.R;
ArrayAdapter<String> arrayAdapter =
        new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, bookList);