0

5つのタブをホストするTabInterface.javaがあります。タブの1つで、サブアクティビティを使用しています。[AddBook]タブ(ActivityGroupを拡張する)をクリックすると、検索ブックページが正しく読み込まれます。検索ボタンをクリックすると、本のリストが生成されます。本をクリックすると、新しいページが開く必要がありますが、そのプログラムは正常に実行されていますが、画面に何も表示されていません。

TabInterface.java

public class TabInterface extends TabActivity
{
  super.onCreate(savedInstanceState);
  setContentView(R.layout.tablayout);
  Resources res = getResources();
  TabHost tabHost = getTabHost();
  LocalActivityManager mlam = new LocalActivityManager(this, false);
  mlam.dispatchCreate(savedInstanceState);
  ............................................
  intent = new Intent().setClass(this, AddBook.class);
  spec = tabHost.newTabSpec("AddBook").setIndicator("Add Book", res.getDrawable(R.drawable.tab_icons)).setContent(intent);
  tabHost.addTab(spec);
  ..............................................`   

AddBook.java

...........
Intent i = new Intent(this.getBaseContext(), BookList.class);
replaceContentView("blist", i, getApplicationContext());
........
public void replaceContentView(String id, Intent newIntent, Context c)
{
  View view = getLocalActivityManager().startActivity(id, newIntent.addFlags(Intent.FLAG_ACTIVITY_CLE AR_TOP)).getDecorView();
  this.setContentView(view);
}
..........

BookList.java

 ......................

 private class BookAdapter extends ArrayAdapter < Books > //my custom adater
 ...................
 public View getView(final int position, View convertView, ViewGroup parent)
 ...................

 //in getView function
 v.setOnClickListener(new View.OnClickListener()
 {
   public void onClick(View v)
   {
     Intent k = new Intent(getBaseContext(), BookNew.class);
     AddBook ab = (AddBook) getParent();
     ab.replaceContentView("bnew", k, getApplicationContext());
   }
 }

 ................... 

3番目のサブアクティビティBookNew.javaは正しく実行されていますが、出力が表示されていません。タブなしで表示すると正常に動作します。どこが間違っているのかわかりますか?

4

1 に答える 1

0

奇妙な 誰も私の質問に答えることができませんでした。約5〜6日費やした後、解決策にたどり着きました。notfyDataSetChanged() を使用したために表示されなかった理由は、次のフラグメントを描画していなかったためです。

于 2012-06-29T10:38:30.747 に答える