2012-07-10 82 views
0

我有一个使用标签主机制作的应用程序。 我需要点击时刷新我的列表视图(第二个标签)。 这种观点包含DB数据,很明显,它需要在整个应用程序,我做更新,插入,删除要始终保持最新状态(因为... 我哪有?Android:更改标签必须刷新我的列表视图db

这是中的onCreate通过标签

super.onCreate(savedInstanceState); 
    setContentView(R.layout.bookmarks); 
    final Database info=new Database(this); 
    final Timer t = new Timer(); 
    info.open(); 
    final Cursor data=info.getData(); 
    final ListView listView1 = (ListView) findViewById(R.id.list_mia); 
    String[] from = new String[] {"contenuto"}; 
    int[] to = new int[] { android.R.id.text1 }; 
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1, data, from, to); 
    listView1.setAdapter(adapter); 

这就是标签类称为类(以下简称“牵连类是书签)

super.onCreate(savedInstanceState); 
    setContentView(R.layout.tabs); 
    TabHost tabHost = getTabHost(); 
    // Tab per lettore 
    TabSpec lettoretab = tabHost.newTabSpec("Lettore"); 
    lettoretab.setIndicator("Lettore", getResources().getDrawable(R.drawable.lettore)); 
    Intent lettoreIntent = new Intent(this, Lettore.class); 
    lettoretab.setContent(lettoreIntent); 
    // Tab per bookmarks 
    TabSpec bookmarkstab = tabHost.newTabSpec("Bookmarks"); 
    bookmarkstab.setIndicator("Bookmarks", getResources().getDrawable(R.drawable.bookmarks)); 
    Intent bookmarksIntent = new Intent(this, Bookmarks.class); 
    bookmarkstab.setContent(bookmarksIntent); 
    // Tab per create 
    TabSpec createtabs = tabHost.newTabSpec("Create"); 
    createtabs.setIndicator("Create", getResources().getDrawable(R.drawable.create)); 
    Intent createIntent = new Intent(this, Create.class); 
    createtabs.setContent(createIntent); 
    // Tab per feed 
    TabSpec feedtabs = tabHost.newTabSpec("Feed"); 
    feedtabs.setIndicator("Feed", getResources().getDrawable(R.drawable.feed)); 
    Intent feedIntent = new Intent(this, Feeds.class); 
    feedtabs.setContent(feedIntent); 
    // Tab per actionmobileapp 
    TabSpec actionmobileapptabs = tabHost.newTabSpec("App"); 
    actionmobileapptabs.setIndicator("App", getResources().getDrawable(R.drawable.actionmobileapp)); 
    Intent actionmobileappIntent = new Intent(this, Actionmobileapp.class); 
    actionmobileapptabs.setContent(actionmobileappIntent); 
    // Aggiungo i tabs 
    tabHost.addTab(lettoretab); 
    tabHost.addTab(bookmarkstab); 
    tabHost.addTab(createtabs); 
    tabHost.addTab(feedtabs); 
    tabHost.addTab(actionmobileapptabs); 

我已经尝试过召回的onResume的代码,但没有成功...

回答

1
TabHost tabHost = getTabHost(); 
      Intent intent = new Intent(this, c); 
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      TabHost.TabSpec spec = tabHost.newTabSpec("tab" + labelId); 
      View tabIndicator = LayoutInflater.from(this).inflate(
        R.layout.tab_indicator, getTabWidget(), false); 
      TextView title = (TextView) tabIndicator.findViewById(R.id.title); 
      title.setText(labelId); 
      ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon); 
      icon.setImageResource(drawableId); 

      spec.setIndicator(tabIndicator); 
      spec.setContent(intent); 
      tabHost.addTab(spec); 

在TabActivity类addTab内添加此()。

感谢....

+0

抱歉,但我不完全明白你的意思:我使用Tab类编辑了我的问题 – Zak 2012-07-10 09:40:44

+1

请在TabActivity类的addTab()中添加intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)。 – user4232 2012-07-10 09:42:12

+0

问题未解决:-( – Zak 2012-07-10 09:50:23

0

使“adpater”变市民“活动”,并在onResume调用此METT adapter.swapCursor(c)这里c是新更新的光标。之后不要忘记拨打notifyDataSetChanged()