我确定我已经设置了图片和xml。我在Android模拟器上运行我的应用程序,它只是弹出一个窗口显示应用程序停止运行。但删除包含res.getDrawable(R.drawable.tab_icon1)
,res.getDrawable(R.drawable.tab_icon2)
和res.getDrawable(R.drawable.tab_icon3)
的图标部分后,该应用程序运行正常。
public class ActionBar extends Activity implements OnClickListener {
TabHost th;
TextView showResult;
long start, stop;
Resources res;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action_bar);
th = (TabHost) findViewById(R.id.tabhost);
th.setup();
Button newTab = (Button) findViewById(R.id.bAddTab);
Button start = (Button) findViewById(R.id.bStart);
Button stop = (Button) findViewById(R.id.bStop);
showResult = (TextView) findViewById(R.id.textView1);
newTab.setOnClickListener(this);
start.setOnClickListener(this);
stop.setOnClickListener(this);
TabSpec specs = th.newTabSpec("tab1");
specs.setContent(R.id.tab1);
specs.setIndicator("Stop Watch", res.getDrawable(R.drawable.tab_icon1));
th.addTab(specs);
specs = th.newTabSpec("tab2");
specs.setContent(R.id.tab2);
specs.setIndicator("Add Tab", res.getDrawable(R.drawable.tab_icon2));
th.addTab(specs);
specs = th.newTabSpec("tab3");
specs.setContent(R.id.tab3);
specs.setIndicator("Blank", res.getDrawable(R.drawable.tab_icon3));
res = getResources();
th.addTab(specs);
}
答案 0 :(得分:0)
我可以看到的一个简单的事情是,在所有三个地方使用res = getResources();
变量之前,您应该定义res
。现在你正在使用它,然后定义它,这可能会抛出异常。做类似的事情:
//....
res = getResources();
specs.setContent(R.id.tab1);
specs.setIndicator("Stop Watch", res.getDrawable(R.drawable.tab_icon1));
th.addTab(specs);
specs = th.newTabSpec("tab2");
specs.setContent(R.id.tab2);
specs.setIndicator("Add Tab", res.getDrawable(R.drawable.tab_icon2));
th.addTab(specs);
specs = th.newTabSpec("tab3");
specs.setContent(R.id.tab3);
specs.setIndicator("Blank", res.getDrawable(R.drawable.tab_icon3));
//....
如果您需要进一步的帮助,请发布LogCat信息。 希望这可以帮助。