无法将图标设置为tabspec

时间:2013-07-18 22:07:07

标签: android tabs android-tabhost

我确定我已经设置了图片和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);
}

1 个答案:

答案 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信息。 希望这可以帮助。