Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.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
Java 从CustomAdapter单击按钮时更改视图_Java_Android - Fatal编程技术网

Java 从CustomAdapter单击按钮时更改视图

Java 从CustomAdapter单击按钮时更改视图,java,android,Java,Android,我已经创建了一个包含listView的布局,该视图在onCreateView函数中由一个片段中的多个类似元素填充,该视图在CustomAdapter extends BaseAdapter中填充。在listView的每个元素中,我都有一个按钮,我想为其实现onClickListener。当点击按钮时,我想切换到另一个视图,类似于在GooglePlus移动应用程序上查看评论。 我在CustomAdapter中尝试过这样做: public void setOnClickComment(View vi

我已经创建了一个包含listView的布局,该视图在onCreateView函数中由一个片段中的多个类似元素填充,该视图在CustomAdapter extends BaseAdapter中填充。在listView的每个元素中,我都有一个按钮,我想为其实现onClickListener。当点击按钮时,我想切换到另一个视图,类似于在GooglePlus移动应用程序上查看评论。 我在CustomAdapter中尝试过这样做:

public void setOnClickComment(View view) {

        final ImageButton btn = (ImageButton)view.findViewById(R.id.addComment);
        if (btn != null) {
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    Log.d("ONCLICK", "I just clicked this shit" + btn.getTag());
                    manager.beginTransaction()
                    .replace(R.id.feedLayout, new CommentFragment()).commit();
                }
            });
        } else {
            Log.d("CLICK", "ESTE NULL");
        }
    }
管理器是一个FragmentManager,它从片段传递到CustomAdapter构造函数。我可以在LogCat中看到日志,但仅此而已,没有其他情况发生,按钮的标记是元素的位置

这是布局图:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/feedLayout"
    >

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector" />

</LinearLayout>

R.id.feedLayout
在当前布局上可见吗?尝试将片段添加到事务的backbackback中,并在提交后尝试执行
manager.executePendingTransactions()我这样做了:FragmentTransaction=manager.beginTransaction().replace(R.id.feedLayout,new CommentFragment());trans.addToBackStack(空);trans.commit();但它仍然不起作用
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        LinearLayout linear = (LinearLayout) inflater.inflate(R.layout.swipe_screen_left, container, false);
        view = (ListView) linear.getChildAt(0);

        adapter = new CustomAdapter(getActivity(), data, getFragmentManager());
        view.setAdapter(adapter);

       return linear;
    }