Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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,是否未调用McClick?_Android_Listview_Android Listfragment_Onitemclicklistener - Fatal编程技术网

Android ListView,是否未调用McClick?

Android ListView,是否未调用McClick?,android,listview,android-listfragment,onitemclicklistener,Android,Listview,Android Listfragment,Onitemclicklistener,我有一个FragmentActivity,它控制一个ListFragment;该ListFragment包含一个通用ListView,适配器,并从我创建的单例中绘制一个ArrayList 在我的ListFragment的onCreateView方法中,我放置了以下代码: public View onCreateView(LayoutInflater viewInflation, ViewGroup container, Bundle SavedInstantState) {

我有一个
FragmentActivity
,它控制一个
ListFragment
;该
ListFragment
包含一个通用
ListView
适配器
,并从我创建的
单例
中绘制一个
ArrayList

在我的
ListFragment
onCreateView
方法中,我放置了以下代码:

public View onCreateView(LayoutInflater viewInflation, ViewGroup container,
        Bundle SavedInstantState) {
    cycleviewfragment = viewInflation.inflate(
            R.layout.cycleviewfragment_page, container, false);
    context = getActivity().getApplicationContext();
    Singleton mySingleton = Singleton.getInstance();
    basicList = (ListView) cycleviewfragment.findViewById(android.R.id.list);
    adapter = new ArrayAdapter<listControlObject>(getActivity()
            .getApplicationContext(), android.R.layout.simple_list_item_1,
            mySingleton.getA1());

    this.setListAdapter(adapter);

    addButton = (Button) cycleviewfragment.findViewById(R.id.addbutton);

    addButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent myIntent = new Intent(getActivity(),
                    listaddactivity.class);
            getActivity().startActivity(myIntent);
        }

    });

    basicList.setOnItemClickListener(new ListView.OnItemClickListener(){
                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {
                    Log.d("basicListtester", "Testing onClickItem call");
                    Intent myIntent = new Intent(getActivity(),
                            listdetailactivity.class);
                    myIntent.putExtra("selectedObjectIndex",arg2);
                    getActivity().startActivity(myIntent);

                }

            });

    adapter.notifyDataSetChanged();
    return cycleviewfragment;
}
public View onCreateView(布局平面视图、视图组容器、,
Bundle SavedInstantState){
cycleviewfragment=视图充气。充气(
R.layout.cycleviewfragment_页,容器,假);
context=getActivity().getApplicationContext();
Singleton mySingleton=Singleton.getInstance();
basicList=(ListView)cycleviewfragment.findViewById(android.R.id.list);
适配器=新的ArrayAdapter(getActivity()
.getApplicationContext(),android.R.layout.simple\u list\u item\u 1,
getA1());
这个.setListAdapter(适配器);
addButton=(Button)cycleviewfragment.findViewById(R.id.addButton);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent myIntent=新的Intent(getActivity(),
listaddactivity.class);
getActivity().startActivity(myIntent);
}
});
basicList.setOnItemClickListener(新的ListView.OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
Log.d(“basicListtester”,“测试onClickItem调用”);
Intent myIntent=新的Intent(getActivity(),
listdetailactivity.class);
myIntent.putExtra(“selectedObjectIndex”,arg2);
getActivity().startActivity(myIntent);
}
});
adapter.notifyDataSetChanged();
返回循环碎片;
}
你知道为什么我在列表中添加项目时,它们不会做出反应,并且不会调用OnItemClick吗

谢谢各位

[更新]

我尝试用
basicList.setAdapter(adapter)实现它仍然不起作用

还尝试让我的
ListFragment
实现
OnItemClickListener
,并将该方法添加到类中;也不起作用。

使用

basicList.setListAdapter(adapter);
而不是

this.setListAdapter(adapter);
使用相同的ListView实例设置
适配器
setOnItemClickListener

使用

basicList.setListAdapter(adapter);
而不是

this.setListAdapter(adapter);

使用相同的ListView实例设置
适配器
setOnItemClickListener

您应该重写
onListItemClick
,因为您的类扩展了
ListFragment
。从文档:

选择列表中的项目时,将调用此方法。 子类应该重写

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    //Do your thingy.
}

文档

您应该重写
onListItemClick
,因为您的类扩展了
ListFragment
。从文档:

选择列表中的项目时,将调用此方法。 子类应该重写

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    //Do your thingy.
}

文档

由于您使用了
ListFragment
,因此不应将
listener
设置到列表中。
ListFragment
中已经有一个方法需要重写

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    //Do your thingy.
}

因为您使用了
ListFragment
,所以不应该将
onItemClickListener
设置到列表中。
ListFragment
中已经有一个方法需要重写

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    //Do your thingy.
}

仍然不工作;我试着切换一些东西,让我的ListFragment实现我的ListClickListener,并以这种方式设置它;然而,这也不起作用。仍然不起作用;我试着切换一些东西,让我的ListFragment实现我的ListClickListener,并以这种方式设置它;然而,这也不起作用。onListItemClick和onItemClick之间有区别吗?文档中说ListActivity的子类应该覆盖它。这两个答案都不起作用;我试着让我的FragmentList实现onItemClick Listener,但这也没有奏效。onListItemClick和onItemClick之间有什么区别吗?文档中说ListActivity的子类应该覆盖它。两个答案都不起作用;我试着让我的碎片列表实现一个同样不起作用的侦听器;我如何确保我的ListView basicList侦听;setOnItemClickListener(this)返回错误;我正在阅读其他帖子,这些帖子说如果你的ListFragment(例如我的按钮)中有其他可交互的视图,那么它会把事情搞砸?你根本不应该调用basicList.setOnItemClickListener(这个)。您不会设置侦听器。它会自动调用。啊,我道歉;现在可以了。谢谢你的帮助!我不知道它会自动调用…当覆盖它时;我如何确保我的ListView basicList侦听;setOnItemClickListener(this)返回错误;我正在阅读其他帖子,这些帖子说如果你的ListFragment(例如我的按钮)中有其他可交互的视图,那么它会把事情搞砸?你根本不应该调用basicList.setOnItemClickListener(这个)。您不会设置侦听器。它会自动调用。啊,我道歉;现在可以了。谢谢你的帮助!我不知道它会自动呼叫。。。