J2EE程序员 2012-11-02 05:49 采纳率: 100%
浏览 3914
已采纳

Activity 跳转到 TabHost后 Tab标签页为空

// 情况描述 :  跳转后默认tab页面为空,切换下tab后,显示正常!!

public class ListContainActivity extends BaseActivity{

public static final String tag = "COOLSMILE_DEBUG";

private  TabHost tabHost ;

ContextTask contextTask ;

String mString="";

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

    setContentView(R.layout.showcontain);

    ProgressRefresh();
}

private void InitUI(){  

        getIntentExtra();   // 得到Activity传递的信息

        Log.v(tag, "----------- InitUI start -----------");

        InitTabHost();
}

    private void InitTabHost(){

        Log.v(tag, "----------- InitTabHost start -----------");
        TabHost.TabSpec spec;  

        tabHost = (TabHost) findViewById(android.R.id.tabhost);
        tabHost.setup();

        spec=tabHost.newTabSpec("Refresh").setIndicator("Refresh").setContent(R.id.contain_tab0);
        tabHost.addTab(spec);  

        spec=tabHost.newTabSpec("Love").setIndicator("Love").setContent(R.id.contain_tab1);  
        tabHost.addTab(spec);  

        spec=tabHost.newTabSpec("Comment").setIndicator("Comment").setContent(R.id.contain_tab2);  
        tabHost.addTab(spec);  

        spec=tabHost.newTabSpec("Onward").setIndicator("Onward").setContent(R.id.contain_tab0);  
        tabHost.addTab(spec);  

        spec=tabHost.newTabSpec("Goback").setIndicator("Goback").setContent(R.id.contain_tab1); 
        tabHost.addTab(spec);  

        InitClickListener();
}
private void ProgressRefresh(){     

    Log.v(tag, "----------- progress_refresh start -----------");
    contextTask = new ContextTask(0);

    TaskHost taskHost = new TaskHost(){

        @Override
        public void onPreExecute(int requestCode) {
            // TODO Auto-generated method stub
            super.onPreExecute(requestCode);
            Log.v(tag, "----------- progress_refresh.onPreExecute() start -----------");
            InitUI();
        }

        @Override
        public void onPostExecute(int requestCode, String result) {
            // TODO Auto-generated method stub
            super.onPostExecute(requestCode, result);

            Log.v(tag, "----------- progress_refresh.onPostExecute() start -----------"+result);

            TextView txt = (TextView)findViewById(R.id.text_Result);
            txt.setText("DoInBackground Result :"+result);
            TextView txt1 = (TextView)findViewById(R.id.text_Refresh);
            txt1.setText("Hello my name is "+mString);
        }
    };
    contextTask.setTaskHost(taskHost);
    contextTask.setProgress(new SimpleDialogProgress(this,"正在获取数据..."));
    contextTask.execute();      
}



    private void InitClickListener(){

        Log.v(tag, "----------- InitClickListener start -----------");

        RadioGroup radioGroup=(RadioGroup) this.findViewById(R.id.main_tab);  
        radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {  

            @Override  
            public void onCheckedChanged(RadioGroup group, int checkedId) {  
                // TODO Auto-generated method stub  
                switch (checkedId) {  
                    case R.id.main_tab_addHome:
                        tabHost.setCurrentTabByTag("Refresh");  
                        break;
                    case R.id.main_tab_addExam:  
                        tabHost.setCurrentTabByTag("Love");  
                        break;  
                    case R.id.main_tab_myExam:  
                        tabHost.setCurrentTabByTag("Comment");  
                        break;  
                    case R.id.main_tab_message: 
                        tabHost.setCurrentTabByTag("Onward");  
                        break;  
                    case R.id.main_tab_settings:
                        tabHost.setCurrentTabByTag("Goback");  
                        break;  
                    default:  
                        tabHost.setCurrentTabByTag("Refresh");  
                        break;  
                    }  
            }  
        });             
    }

    private void getIntentExtra(){
        Intent intent = getIntent();
        mString = intent.getExtras().getString("PRESIDENTS_CONTENT");
    }

}

  • 写回答

2条回答

  • J2EE程序员 2012-11-02 08:55
    关注
        spec=tabHost.newTabSpec("Refresh").setIndicator("Refresh").setContent(R.id.contain_tab0);
        tabHost.addTab(spec);  
    
        spec=tabHost.newTabSpec("Love").setIndicator("Love").setContent(R.id.contain_tab1);  
        tabHost.addTab(spec);  
    
        spec=tabHost.newTabSpec("Comment").setIndicator("Comment").setContent(R.id.contain_tab2);  
        tabHost.addTab(spec);  
    
        spec=tabHost.newTabSpec("Onward").setIndicator("Onward").setContent(R.id.contain_tab0);  
        tabHost.addTab(spec);  
    
        spec=tabHost.newTabSpec("Goback").setIndicator("Goback").setContent(R.id.contain_tab1); 
        tabHost.addTab(spec);  
    

    问题就出现在这串代码里, 里面的TAG 与 setContent(R.id.contain_tab1);
    不是一一对应的关系 , 原以为只要TAG值唯一就行了!..犯错了!!
    之前为了图方便, 只在XML里写了3个tab 复用了2个tab用来测试,结果调了1天 ,,我靠靠靠靠靠,太悲剧了!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器