次の問題があります。TabActivity内の外部からlistviewアダプタを取り込む方法
私は2つのタブでtabActivityにいます。すべてのタブは同じアクティビティを起動しますが、onTabChangeListenerがあります。 このtabchangeリスナーでは、私は各アクティビティごとに異なるリストビューアダプタを設定する必要があります。 したがって、私は2つの異なるリストを持ち、このonTabchangeListenerからTabActivityからアダプタを変更したいが、次のエラーが表示される:oncreate()の前にアクティビティで利用できないシステムサービス タブのコードは
host = getTabHost();
host.addTab(host.newTabSpec(TAG_AVAILABLE).setIndicator("First Tab")
.setContent(new Intent(this, MyActivity.class)));
host.addTab(host.newTabSpec(TAG_DOWNLOAD).setIndicator("Second Tab ")
.setContent(new Intent(this, MyActivity.class)));
host.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
@Override
public void onTabChanged(String s) {
MyActivity myActivity = new MyActivity();
int i = getTabHost().getCurrentTab();
if (i == FIRST_TAB) {
setAdapterForMyActivity(firstAdapter);
}
}
if (i == SECOND_TAB) {
setAdapterForMyActivity(secondAdapter);
}
}
}
});
}
主な質問は、TabActivityからアクティビティ内にあるlistViewのアダプタを設定する方法です。 ありがとうございます。
アダプターを設定しないでください。アダプターを初期化し、そのアダプターをアクティビティーの作成中に設定してください。 –
アクティビティーの完全なコードを示してください。 –
これを呼び出すことはできません: 'MyActivity myActivity = new MyActivity();'。アクティビティを取得する唯一の方法は、OSがアクティビティを作成する場合です。 – Femi