Android Listview onclick to start TabActivitycc



我有一个listview在一个活动,当有人点击在列表视图中的一个项目上,我想启动一个类型的活动TabActivity。

你知道为什么它不工作吗?

    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/AndroidRuntime(346): cause by: java.lang.IllegalStateException: Activities can't be add until the containing group has been created.

尝试将其添加到您的代码中…

 LocalActivityManager mlam = new LocalActivityManager(this, false);
  mlam.dispatchCreate(savedInstanceState);
  tabHost.setup(mlam );
编辑:在添加制表符之前,你应该先设置好制表符。

你应该像这样先调用setup…

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);    

最新更新