javascript - Frahment tabhost重疊.再點擊問題

 wolveszhang_543 发布于 2022-11-20 11:36

我製作了一個Fragment可是現在有兩個問題

1.在第一頁按下按鈕跳內頁後.再點Tab第二夜時會有重疊的問題
2.我想要在Tab1按下按鈕進入內頁之後.在按下Tab1可以回到有按鈕的那頁請問應該要如何下參數呢?

附上程式碼給大家

謝謝

1.MainActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    FragmentTabHost tabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);

    tabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

    //1
    tabHost.addTab(tabHost.newTabSpec("Apple")
                    .setIndicator("Apple"),
            com.example.rockkung.realtabhost.Apple.class,
            null);
    //2
    tabHost.addTab(tabHost.newTabSpec("Google")
                    .setIndicator("Google"),
            GoogleFragment.class,
            null);
    //3
    tabHost.addTab(tabHost.newTabSpec("Facebook")
                    .setIndicator("Facebook"),
            FacebookFragment.class,
            null);
    //4

}
public String getAppleData(){
    return "Apple 123";
}
public String getGoogleData(){
    return "Google 456";
}
public String getFacebookData(){
    return "Facebook 789";
}

@Override
protected void onSaveInstanceState(Bundle bundle) {
    // Empty
}

}

2.Tab1

public class Apple extends Fragment {

private String value = "";

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);

    MainActivity mainActivity = (MainActivity)activity;
    value = mainActivity.getAppleData();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    return inflater.inflate(R.layout.frg_apple, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    final TextView txtResult = (TextView) this.getView().findViewById(R.id.textView1);
    txtResult.setText(value);

    Button btn = (Button) this.getView().findViewById(R.id.button1);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragmentManager fm = getFragmentManager();

            Fragment fragment = fm.findFragmentById(R.id.realtabcontent);
            FragmentTransaction ft = fm.beginTransaction();
            replaceFragment(new Appleinside());

          ft.addToBackStack(null);
             ft.commit();

        }
    });

}
public void replaceFragment(Fragment fragment) {
    this.getFragmentManager().beginTransaction()
            .replace(R.id.realtabcontent, fragment).addToBackStack(null)
            .commit();
}

}

3.tab1內頁

public class Appleinside extends Fragment {

private String value = "";

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    return inflater.inflate(R.layout.inside, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
}

}

4.另外兩頁是一樣的就貼一頁

public class FacebookFragment extends Fragment {

private String value = "";

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);

    MainActivity mainActivity = (MainActivity)activity;
    value = mainActivity.getFacebookData();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    return inflater.inflate(R.layout.frg_facebook, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    TextView txtResult = (TextView) this.getView().findViewById(R.id.textView1);
    txtResult.setText(value);
}

}

麻煩各位了
謝謝

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有