我想我的應用程序中有類似的事情發生。我有一組actionbar選項卡,每個選項卡都有自己的片段。當您點擊標籤中的某些按鈕時,將會啓動另一個片段。顯然你知道所有關於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 2012-03-21 14:27:37