私のアプリでも同様のことが起こっていると思います。私はアクションバーのタブを持っていて、それぞれが独自のフラグメントです。タブ内の特定のボタンをクリックすると、別のフラグメントが起動されます。明らかにViewPager、TabListenerソリューションなどのことはすべて知っていますが、私のソリューションは画面全体を満たす別のフラグメントを起動します。戻る(新しいフラグメントに注目している間)を押すと、アクションバータブのアクティビティにあった場所に戻ります。
public class EconFragment extends Fragment {
private ViewGroup container;
private TableLayout questionContainer;
private ScrollView scrollView;
private ViewGroup econFragment;
private View[] questions;
static int pos = 0;
private String[] titles = {"The first title ", "hallo1","hallo2", "hallo3",
"hallo4", "hallo5","hallo6", "hallo7","hallo8", "hallo9"};
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d("Econ", "onCreateView");
this.container = container;
return inflater.inflate(R.layout.econfragment, container, false);
}
public OnClickListener chartsListener = new OnClickListener() {
public void onClick(View v) {
Intent chart = new Intent();
chart.setClass(getActivity(), Chart.class);
chart.putExtra("key", titles[v.getId()]);
Log.v("TAG", Integer.toString(v.getId()));
startActivity(chart);
}
};
ご覧のとおり、私はチャートと呼ばれる新しいインテントを立ち上げます。グラフのクラスはChartとして設定されます。これはフラグメントを拡張します。 Start a fragment via Intent within a Fragment
最初のタブにスワイプしたくない場合は、最初の 'onTabChanged()でアダプタからそれを削除しないでください。 ) 'を呼び出し、' tabadapter.notifyDatasetChanged() 'を呼び出します。 – Reinier