public class frag2 extends Fragment {

    Button btn_service;

    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View good = inflater.inflate(R.layout.fragment2, container, false);
        ((EditText) good.findViewById(R.id.editText)).setText("edit text test");


        final View v = inflater.inflate(R.layout.fragment2, container,
                false);

        btn_service = (Button) v.findViewById(R.id.btn);
        btn_service.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Snackbar.make(view, "test snackbar button", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }

        });
        return good;
    }


我想知道如何使用片段布局对onClick进行编码。
我是android编码的新手。所以我可能会问错问题。

最佳答案

您正在创建两个单独的视图goodv,但是您只需要goodv就在那里,什么也不做,因为good是将在您的活动中显示的实际片段视图(由于return good),因此您需要将操作与good的孩子绑定

来自inflate (int resource, ViewGroup root, boolean attachToRoot)


  从指定的xml资源中添加新的视图层次结构。


//final View v = inflater.inflate(R.layout.fragment2, container,
//        false);

btn_service = (Button) good.findViewById(R.id.btn);
//                     ^^^^

关于android - 带有 fragment 的Onclick,没有错误,但不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45678124/

10-13 07:54