Android标签活动和java代码?

时间:2017-09-20 19:01:25

标签: java android android-activity tabs

我的标签式活动中有3个标签。我创建了3个扩展Fragment的类并添加了我的布局。当我运行它,它工作正常。所以我在第二个标签中添加了一些EditText小部件和一个Button。我的问题是:我在哪里放java代码,例如,为该按钮处理onClickListener。 我尝试在主要的选项卡式活动类中执行此操作但随后应用程序崩溃。

2 个答案:

答案 0 :(得分:0)

您必须将按钮点击代码添加到相应的片段,即您案例中的第二个标签。不要在托管该片段的活动上编写代码。

答案 1 :(得分:0)

您可以将该代码放入选项卡式活动的相关片段中。 应用程序将崩溃,因为活动无法访问片段中膨胀的视图。 你可以这样做:

public class PageFragment extends Fragment {
    public static final String ARG_PAGE = "ARG_PAGE";

    private int mPage;

    public static PageFragment newInstance(int page) {
        Bundle args = new Bundle();
        args.putInt(ARG_PAGE, page);
        PageFragment fragment = new PageFragment();
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mPage = getArguments().getInt(ARG_PAGE);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_page, container, false);
        TextView textView = (TextView) view;
        textView.setText("Fragment #" + mPage);
        return view;
    }
}

有关详情,请查看tutorial