質問

アクティビティを使用したListViewがあり、誰かがListViewのアイテムをクリックしたら、タイプのタバクティブのアクティビティを開始したいと思います。

なぜそれが機能していないのかについてのアイデアはありますか?

    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:エラー/Androidruntime(346):原因:java.lang.illegalstateException:含有グループが作成されるまでアクティビティを追加できません。

役に立ちましたか?

解決

これをコードに追加してみてください。

 LocalActivityManager mlam = new LocalActivityManager(this, false);

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

編集:タブを追加する前に、タブホストを設定する必要があります。

このように最初にセットアップを呼び出す必要があります...

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);    
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top