Android Can';I don’我不能让你的听众工作

Android Can';I don’我不能让你的听众工作,android,Android,我试过各种各样的解决办法,所以没有一个能解决我的问题。祝酒词没有显示,Log.d条目也没有显示。。。这是我的密码: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_product_row, container, fa

我试过各种各样的解决办法,所以没有一个能解决我的问题。祝酒词没有显示,
Log.d
条目也没有显示。。。这是我的密码:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_product_row, container, false);
    ListView listView = (ListView) v.findViewById(android.R.id.list);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast toast = new Toast(getActivity().getBaseContext());
            String text = "Clicked " + Integer.toString(position) + ":" + Long.toString(id);
            toast.setText(text);
            toast.setDuration(Toast.LENGTH_SHORT);
            toast.show();
            Log.d("BagIt.ItemClick", text);
        }
    });
    return v;
}
@覆盖
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图v=充气机。充气(R.布局。碎片\产品\行,容器,假);
ListView ListView=(ListView)v.findViewById(android.R.id.list);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast Toast=新Toast(getActivity().getBaseContext());
String text=“单击”+Integer.toString(位置)+:“+Long.toString(id);
toast.setText(文本);
toast.setDuration(toast.LENGTH\u SHORT);
toast.show();
Log.d(“BagIt.ItemClick”,文本);
}
});
返回v;
}

我运行了您的代码,它抛出了一个java.lang.RuntimeException,因为Toast不是用Toast.makeText()创建的。 试试这个

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            // TODO Auto-generated method stub
            String text = "Clicked " + position + ":" + id;
            Toast toast = Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT);
            toast.show();
        }
    });
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//TODO自动生成的方法存根
String text=“单击”+position+:“+id;
Toast Toast=Toast.makeText(getActivity(),text,Toast.LENGTH\u SHORT);
toast.show();
}
});

查看代码后,我注意到列表视图中没有任何内容

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_product_row, container, false);
    ListView listView = (ListView) v.findViewById(android.R.id.list);

    //set your array adapter here to your list view and pass the array of items

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Toast toast = new Toast(getActivity().getBaseContext());
        String text = "Clicked " + Integer.toString(position) + ":" + Long.toString(id);
        toast.setText(text);
        toast.setDuration(Toast.LENGTH_SHORT);
        toast.show();
        Log.d("BagIt.ItemClick", text);
       }
   });
   return v;
}
@覆盖
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图v=充气机。充气(R.布局。碎片\产品\行,容器,假);
ListView ListView=(ListView)v.findViewById(android.R.id.list);
//在此处将数组适配器设置为列表视图,并传递项目数组
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast Toast=新Toast(getActivity().getBaseContext());
String text=“单击”+Integer.toString(位置)+:“+Long.toString(id);
toast.setText(文本);
toast.setDuration(toast.LENGTH\u SHORT);
toast.show();
Log.d(“BagIt.ItemClick”,文本);
}
});
返回v;
}
您可能希望先将一些项目添加到列表视图中,然后尝试单击它们。否则,您将有一个空的列表视图


根据要在列表视图上显示的数据类型,我将使用阵列适配器或适当的适配器。

您可以发布适配器代码和listview项目布局吗

列表视图中可能有某个项目(如复选框)正在获取焦点,而不是整个行布局

此外,您的代码没有显示正在创建的listview适配器,甚至没有将其设置为要实际填充的listview


如果您可以发布这些类,我们可能会提供更多帮助

您是否将listener设置为正确的listview?是的,这是我仅有的listview…我建议您将setOnItemClickListener()调用移动到onActivityCreated()覆盖。您的listview中是否有项,如果有,发布适配器直到,我没有例外,而且Log.d无论如何都不起作用,所以代码一开始就没有执行。好的,请发布您的适配器代码,以及您如何将项目添加到ListView。因此,我正在关注一些文章的组合,这些文章做了一些奇怪的事情,但最终使用适配器将片段加载到
ListView
。所以里面确实有东西,但可能不是我期望的那样?项目是通过
异步任务中的
onCreate
加载的,这能解决问题吗?通常的做法是在列表视图上设置适配器,然后将项目列表传递给它。我不知道那个教程是怎么工作的;链接会有所帮助。因此,一旦获得对列表视图的引用,就可以设置适配器。