android listView onclick onclickを開始します
-
28-10-2019 - |
質問
アクティビティを使用した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);
所属していません StackOverflow