2014-04-11 27 views
0

我有Android应用程序在那里我得到以前的活动字符串,并将其转移到下一个活动。 工作正常,当我做一个标签。但是当我的第二个选项卡中指定它的应用程序崩溃,安卓:错误越来越TabView的应用程序崩溃

错误日志猫,你必须指定一个方法来创建选项卡指示器。

代码解决

package com.example.pms; 

import android.app.TabActivity; 
import android.content.Context; 
import android.content.Intent; 
import android.content.res.Resources; 
import android.os.Bundle; 
import android.view.Window; 
import android.view.WindowManager; 
import android.widget.TabHost; 
import android.widget.TabHost.OnTabChangeListener; 
import android.widget.TextView; 
import android.widget.TabHost.TabSpec; 






public class TabControl extends TabActivity 
{ 
    public static TabControl mTabControl; 
    public static TextView textView; 
    public static TabHost tabHost ; 
    final Context context = this; 
    //public static String strEmployeeID = ""; 
    @SuppressWarnings("deprecation") 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     Resources resources = getResources(); 
     TabHost tabHost = getTabHost(); 




      Bundle extras = getIntent().getExtras(); 
      String strEmployeeID=""; 
     TabSpec photospec = tabHost.newTabSpec("Hourly entry"); 
      // setting Title and Icon for the Tab 
      photospec.setIndicator("Hourly Entry"); 

       if (extras != null) 
       { 

        String value = extras.getString("new_variable_name"); 
//    Toast.makeText(getBaseContext(), value, Toast.LENGTH_LONG).show(); 
        strEmployeeID = value; 
       } 


      Intent photosIntent = new Intent(getApplicationContext(), HourlyEntry.class); 
      photosIntent.putExtra("new_variable_name",strEmployeeID); 
      photospec.setContent(photosIntent); 



      TabSpec photospec1 = tabHost.newTabSpec("Leave app"); 
       // setting Title and Icon for the Tab 
       photospec1.setIndicator("Leave App"); 

        if (extras != null) 
        { 

         String value = extras.getString("new_variable_name"); 
//     Toast.makeText(getBaseContext(), value, Toast.LENGTH_LONG).show(); 
         strEmployeeID = value; 
        } 


       Intent photosIntent1 = new Intent(getApplicationContext(), LeaveApp.class); 
       photosIntent1.putExtra("new_variable_name",strEmployeeID); 
       photospec1.setContent(photosIntent1); 


     tabHost.addTab(photospec); 
     tabHost.addTab(photospec1); 



     tabHost.setCurrentTab(0); 

    } 


} 
+0

你加LeaveApp,HourlyEntry到Manifiest? –

+0

然后发布您的logcat。 –

+0

是的...我只是发布我的日志猫 –

回答

2

更改此

TabSpec photospec1 = tabHost.newTabSpec("Photos"); 
     // setting Title and Icon for the Tab 
    photospec.setIndicator("", getResources().getDrawable(R.drawable.tab_home)); 

随着

 TabSpec photospec1 = tabHost.newTabSpec("Photos2"); 
      // setting Title and Icon for the Tab 
    photospec1.setIndicator("", getResources().getDrawable(R.drawable.tab_home)); 
     if (extras != null) 

       { 
        String value = extras.getString("new_variable_name"); 
        strEmployeeID = value; 
       } 

     Intent photosIntent1 = new Intent(getApplicationContext(), LeaveApp.class); 
     photosIntent1.putExtra("new_variable_name",strEmployeeID); 
     photospec1.setContent(photosIntent1); 

而且您的问题就在这里,你永远不会设置Tab Indicator到第二个选项卡正确李柯下面

photospec1.setIndicator("", getResources().getDrawable(R.drawable.tab_home)); 

,也是你的问题就在这里,你设置错误set Content Intent到第二个选项卡正确象下面这样:

Intent photosIntent1 = new Intent(getApplicationContext(), LeaveApp.class); 
    photosIntent1.putExtra("new_variable_name",strEmployeeID); 
    photospec1.setContent(photosIntent1); 
相关问题