Honycomb に移動しようとして問題が発生しています。
私はこのようなものを持っています:
Cursor c = db.getAll();
if ( c.moveToFirst() ) {
do {
// Log tab name
Log.d("(Honycomb)", "TabSpec : " + c.getString(2));
// Set new tabspec ID
TabSpec Tab = tabHost.newTabSpec( "tid" + c.getString(1) ) ;
if( c.getString(2).equals("abc")) {
Tab.setIndicator( c.getString(2), context.getResources().getDrawable(R.anim.icon1) ) ;
} else if( c.getString(2).equals("bcd")) {
Tab.setIndicator( c.getString(2), context.getResources().getDrawable(R.anim.icon2) ) ;
}
Intent intent = new Intent() ;
intent.putExtra( "CATORDER", c.getString(1) );
intent.setClass(context, Mytab.class) ;
Tab.setContent( intent ) ;
tabHost.addTab(Tab) ;
} while ( c.moveToNext() ) ;
} else {
Toast.makeText(context, "There is nothing available.",
Toast.LENGTH_LONG).show();
}
tabHost.setOnTabChangedListener(OnTabChangeListener);
tabHost.getTabWidget().setCurrentTab(0);
db.getAll() の結果、db から 2 つ以上のレコードが返されます。LOGCAT c.getString(2) では > 2 回見られます - 期待どおりの値ですが、画面上の tabHost を見ると、すべてのタブが表示されますが、最初のタブのみが文字列と共に表示されます (ただし) 可能なアクションはなく、しばらくすると戻りますアプリの開始に。
Honycomb から 2.2 に切り替えると、期待どおりの結果が表示されますか?
また、MyTab には log.d() があり、これから、3.0 で実行しているが 2.2 で複数回 (予想どおり) 実行している場合は、初めて表示されるだけです。
何かが変更されたように見えます (または、2.2 ではうまくいきましたが、3.0 ではうまくいきませんでした)。何か案が?
LOGCAT に何かを伝えるエラーがある場合は、これも投稿しますが、そこにはないようです (再び 2.2 に切り替えて、これを正常に実行すると、c.getString(2) が x 回以上表示されるだけでなく、タブも表示されます)。正しく。
よろしく、Rve