在片段内实现按钮 - 如何创建用于将片段与活动进行通信的接口

时间:2012-07-16 12:53:56

标签: android android-fragments

我找到了一个包含片段here

的漂亮布局

我在xml片段中添加按钮,但我不知道如何实现按钮,我的意思是,我不知道如何为按钮工作。

问题是我需要在片段内创建一个回调接口,并要求主机活动实现它,而不是活动通过接口接收回调:

Fragments in Android

不幸的是,目前还不清楚如何使用按钮。

简而言之,我有我的按钮,我不知道如何使它工作。

2 个答案:

答案 0 :(得分:0)

我有同样的问题。好吧,我可以点击按钮,做一个简单的Toast,但没有更多的碎片。这个模型真的在这里杀了我。

要添加按钮,请在fragment.xml文件上创建它们,然后在onCreate方法的fragment类中调用它们。我使用这样的简单代码:

Button btn = (Button)getActivity().findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {                       
    @Override
    public void onClick(View v) {
        Log.i("FragmentsTab1", "++ ON BUTTONCLICK 1 ++ ");
        showFrag();
    }
});

我通常也将它包装在try / catch中。按钮工作,并将调用我的本地私有方法(showFrag()),它可以是一个Toast或Dialog框,但做更多的事情对我来说不起作用。我无法访问Fragment.xml上的TextView或调用Activity。真的很奇怪。

答案 1 :(得分:0)

我认为这可能是相关的:http://developer.android.com/training/basics/fragments/communicating.html#DefineInterface对于琐碎的案例

我发现这篇文章对复杂设计很有用:Restoring object references of fragments after configuration changes