Android选项卡式活动和java代码?
我在选项卡式活动中有3个选项卡。我创建了3个扩展Fragment的类并添加了我的布局。当我运行它时,它工作正常。所以我添加了一些EditText小部件和一个Button到我的第二个选项卡。我的问题是:例如,我在哪里放置java代码来处理该按钮的onClickListener。 我试图在主选项卡式活动课中做到这一点,但随后应用程序崩溃。Android选项卡式活动和java代码?
您可以将该代码放在选项卡活动的相关片段中。 应用程序将崩溃,因为活动无法访问在片段中被夸大的视图。 你可以这样做:
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。
您必须将按钮点击代码添加到相应的片段,即您的案例中的第二个选项卡。不要在托管该片段的活动上编写代码。
但在Java的文件,我不能使用findViewById –
。利用此代码对你的第二个片段 @覆盖 公共查看onCreateView(LayoutInflater吹气,ViewGroup中容器,包savedInstanceState){ 最后查看视图= inflater.inflate(R .layout.second_fragment,container,false); \t final Button recyclerView =(Button)view.findViewById(R.id.mybutton); //在此处添加按钮点击代码 返回视图; } –
@slaven你必须在片段中使用view.findviewbyid –
如果您需要代码,只需在Android Studio中创建一个新项目,然后选择“Tabbed Activity”而不是“Empty Activity”。你会找到一个完美的代码,你可以参考它。 – zackygaurav