点击片段中的点击听众

时间:2017-06-08 06:21:39

标签: android android-fragments

我创建了一个方法,我将链接到Button上的Fragment

出于某种原因,当我将方法放在Fragment中并转到片段的布局文件时,单击属性上的按钮似乎无法识别该方法。当我在主Activity中放置相同的方法时,它似乎很好地识别了该方法,但我希望在我的Fragment中存在此方法。

有人知道如何解决这个问题,同时我的Fragment中仍然存在这种方法吗?

public void onClicFragment(View v)
{

}

1 个答案:

答案 0 :(得分:1)

如果您的Button位于Fragment,则只需向其中添加OnClickListener(例如onCreateView()中):

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.some_layout, parent, false);
    Button button = (Button) view.findViewById(R.id.some_button);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // ...
        }
    });

    return view;
}

否则,您可以在Activity中定义onClick方法,并从那里调用Fragment的相应方法:

public class MainActivity extends AppCompatActivity {

    // ...

    public void onClickFragment(View v) {
        SomeFragment f = (SomeFragment) getFragmentManager().findFragmentByTag("SOME_TAG");
        if (f != null) {
            f.someMethod();
        }
    }
}