使用Fragment Onclick,没有错误,但它不起作用

时间:2017-08-14 15:37:08

标签: android onclick fragment

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;
    }

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

1 个答案:

答案 0 :(得分:3)

您正在创建两个单独的视图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);
//                     ^^^^