私はアンドロイドのタブを使用してかなり厄介な問題を抱えています。どのように動作するのか分かりません。問題は自分のコードのロジックをどこに置くべきかを知ることです。たとえば、最初のタブではカレンダーを適用し、2番目のタブにはファイルをアップロードしたいとします。たとえば、このロジックを配置する場所はどこですか?xml
フラグメントがあり、これまではonCreateView
でロジックをコーディングしようとしていました。誰かがタブ付きアクティビティのしくみを説明できたら、私は永遠に感謝しています。私はタブ付きアクティビティ用に設定されたデフォルトのアンドロイドを使用し、3つのフラグメントを追加しました。タブ付きアクティビティを使用する場合、どこにコードを記述しますか?
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if(getArguments().getInt(ARG_SECTION_NUMBER)==1) {
View rootView = inflater.inflate(R.layout.fragment_message, container, false);
return rootView;
}
else if(getArguments().getInt(ARG_SECTION_NUMBER)==2){
View rootView = inflater.inflate(R.layout.fragment_read, container, false);
TextView textView= (TextView)rootView.findViewById(R.id.textView_two);
textView.setText("Working");
return rootView;
}
else{
View rootView = inflater.inflate(R.layout.fragment_calendar, container, false);
// would I put my logic here?
return rootView;
}
}
}
アップデート2 は、だから今、私はボタンの押下をリッスンし、断片の一つに乾杯を表示しようとしている、ボタンが応答しないとトーストは表示されません。私はトースト getActivity(上のすべてのこれらを試してみました
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
final View rootView=inflater.inflate(R.layout.fragment_calendar, container, false);
//final ActionBar actionBar = getSupportActionBar();
//actionBar.setDisplayHomeAsUpEnabled(false);
//actionBar.setTitle(null);
//Toast.makeText(getActivity(),"AKHBKH",Toast.LENGTH_LONG).show();
Button button1=(Button)rootView.findViewById(R.id.button_test1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("","");
Toast.makeText(getActivity(),"ddfdf",Toast.LENGTH_LONG).show();
}
});
PS) getActivityは()。getApplicationContext() getBaseContext() のgetContext()
わからないが、私はこのような場合のために最善のアプローチがあると思います1つのアクティビティと複数のフラグメント(各タブに1つ)を持ち、 'FragmentPagerAdapter'または' FragmentStatePagerAdapter'を使ってフラグメント(タブ)を表示すると、コードは各フラグメントに配置されます/ロジック) – Yazan