意图呈现在整个屏幕上

时间:2012-01-26 16:01:44

标签: android android-intent android-activity

我正在尝试在应用程序中显示图表,该图表有两个选项卡。 onCreate()方法中的主类实例化与相应类关联的两个选项卡。第二个选项卡必须显示图表。图表的类不是Activity,它有一个返回Intent的方法,它在Activity类中显示。

我的问题是,如果我点击图表标签,图表将显示在整个屏幕上,而不仅仅是在两个标签按钮下。我应该修改什么?

这是一个简短的结构:

主要班级:

public class CurrencyTabActivity extends TabActivity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Resources res = getResources(); 
        TabHost tabHost = getTabHost(); 
        TabHost.TabSpec spec; 
        Intent intent; 

        intent = new Intent().setClass(this, CurrencyListActivity.class);

        spec = tabHost.newTabSpec("currency").setIndicator("",
                res.getDrawable(R.drawable.ic_tab_currency))
                .setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, GraphActivity.class);
        spec = tabHost.newTabSpec("graph").setIndicator("",
                res.getDrawable(R.drawable.ic_tab_graph))
                .setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(0);
    }
}

必须出示图表的类:

public class GraphActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent;
        TemperatureChart tc = new TemperatureChart();
        intent = tc.execute(this);
        startActivity(intent);
    }
}

图表类:

public class TemperatureChart{
//................
public Intent execute(Context context){ 
//...................................
}
}

1 个答案:

答案 0 :(得分:1)

TemperatureChart意图在标签之外显示为自己的Activity,因为您尚未将其添加到TabHost。您只需启动Activity ...为什么不能将TemperatureChart设为活动并将其添加到TabHost