2011-12-06 46 views
0

我有一个listview withcin一个活动,当有人在列表视图中的某个项目上点击 我想要启动一个类型为 的TabActivity活动。Android Listview onclick to start TabActivitycc

关于为什么它不起作用的任何想法?

list.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      JobListRowData item = jobListAdapter.getItem(position); 
       Intent myIntent = new Intent(view.getContext(), EventsTabs.class);     
       startActivity(myIntent); 
      } } }); 


    public class EventsTabs extends TabActivity { 
    private TabHost mTabHost; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     setContentView(R.layout.event_main); 
     Resources res = getResources(); 
     TabHost tabHost = getTabHost(); 
     TabHost.TabSpec spec; 
     Intent intent; 
     intent = new Intent().setClass(this, EventsTabs.class);  
     spec = tabHost.newTabSpec("artists").setIndicator("Artists", res.getDrawable(R.drawable.icon)).setContent(intent);  
     tabHost.addTab(spec);  
     intent = new Intent().setClass(this, EventsTabs.class);  
     spec = tabHost.newTabSpec("albums").setIndicator("Albums",res.getDrawable(R.drawable.icon)).setContent(intent); 
     tabHost.addTab(spec);  
     intent = new Intent().setClass(this, EventsTabs.class);  
     spec = tabHost.newTabSpec("songs").setIndicator("Songs", res.getDrawable(R.drawable.icon)).setContent(intent); 
     tabHost.addTab(spec);  
     tabHost.setup(); 
    } 

    } 

出于某种原因,我得到一个: 12-06 13:37:47.607:ERROR(346)/ AndroidRuntime:java.lang.IllegalStateException:致活动不能被添加到所述含已经被创造了。

回答

0

尝试增加给你的代码..

LocalActivityManager mlam = new LocalActivityManager(this, false); 

    mlam.dispatchCreate(savedInstanceState); 
    tabHost.setup(mlam); 

编辑:你应该建立tabhost添加标签来之前..

你应该叫设立第一个这样的...

TabHost tabHost = getTabHost(); 
    TabHost.TabSpec spec; 
    tabHost.setup(); //Move set up here 

    Intent intent; 
    intent = new Intent().setClass(this, EventsTabs.class);  
    spec = tabHost.newTabSpec("artists").setIndicator("Artists", res.getDrawable(R.drawable.icon)).setContent(intent);  
    tabHost.addTab(spec);  
    intent = new Intent().setClass(this, EventsTabs.class);  
    spec = tabHost.newTabSpec("albums").setIndicator("Albums",res.getDrawable(R.drawable.icon)).setContent(intent); 
    tabHost.addTab(spec);  
    intent = new Intent().setClass(this, EventsTabs.class);  
    spec = tabHost.newTabSpec("songs").setIndicator("Songs", res.getDrawable(R.drawable.icon)).setContent(intent); 
    tabHost.addTab(spec);  
+0

没有抱歉仍然同样的问题.... – ITECH

+0

看看我的编辑。 –

+0

这就是为什么它说“在创建包含组之前无法添加活动”。得到它? –