我很难将我的活动放在标签中。我有一个解析XML文件并将它们放在列表中的活动,它可以完全独立工作。当我在一个标签上调用它但是它不起作用(我得到了可怕的“抱歉!等等......已经意外停止了”提示......顺便说一下,我做了清单)。
我已将这些活动迁移到一项活动中,瞧!有效!!!然而,这不是我们想要用这个项目的方式 - 我们真的需要有单独的活动。
因为很多人发现标签和活动不能很好地协同工作有没有办法解决它?某种乳化剂可能吗?
以下是代码:
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TabHost; import android.widget.Toast;
公共类TabDemo扩展了Activity {
/** data members go here*/
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
try {
TabHost tabs= (TabHost)findViewById(R.id.tabhost);
tabs.setup();
Intent callResultHits = new Intent(this, my.tabebd.layout.ResultHits.class);
TabHost.TabSpec spec = tabs.newTabSpec("tag1");
spec.setContent(callResultHits);
spec.setIndicator("Result", getResources().getDrawable(R.drawable.ic_tab_search_result) );
tabs.addTab(spec);
spec = tabs.newTabSpec("tag2");
spec.setContent(R.id.tab2);
spec.setIndicator("Details",getResources().
getDrawable(R.drawable.ic_tab_details));
tabs.addTab(spec);
tabs.setCurrentTabByTag("tag1");
} catch (Throwable t) {
// TODO Auto-generated catch block
Toast.makeText(this, "Exception: " + t.toString(), 50000).show();
}
}
这是其中一项活动......
public class ResultHits extends Activity implements OnItemClickListener {
ListView listView_titles;
ArrayList<String> items = new ArrayList<String>();
String [] test = {"1", "2","3"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView_titles = (ListView)findViewById(R.id.list);
listView_titles.setAdapter(new ArrayAdapter<String>
(this,R.layout.row, R.id.row_text,test));
}
}
我省略了xml解析部分...如果这个基本列表可以显示在选项卡内,那么它将是完美的。 TY提前
BTW setcurrenttabByTag以前是setCurrenttab(2)..实际我做了这些值0,1,2,3以防万一;)
答案 0 :(得分:0)
发布您的代码我认为将活动放入每个标签都没有问题, 这是将活动放在标签中的基本示例,
static TabHost tabHost;
...
...
...
tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, MainActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("MainActivity")
.setIndicator(null, null)
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, SecondActivity.class);
spec = tabHost.newTabSpec("SecondActivity")
.setIndicator(null, null)
tabHost.addTab(spec);
intent = new Intent().setClass(this, ThirdActivity.class);
spec = tabHost.newTabSpec("ThirdActivity")
.setIndicator(null, null)
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, FourthActivity.class);
spec = tabHost.newTabSpec("FourthActivity")
.setIndicator(null, null)
.setContent(intent);
tabHost.addTab(spec);