Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中的简单选项卡活动_Java_Android_Android Tabhost_Android Tabactivity - Fatal编程技术网

Java android中的简单选项卡活动

Java android中的简单选项卡活动,java,android,android-tabhost,android-tabactivity,Java,Android,Android Tabhost,Android Tabactivity,我正在尝试做的事情: 早餐午餐晚餐DividuallistofItems.java public class BreakfastLunchDinnerIndividualListOfItems extends TabActivity implements OnTabChangeListener{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle

我正在尝试做的事情

早餐午餐晚餐DividuallistofItems.java

public class BreakfastLunchDinnerIndividualListOfItems extends TabActivity implements OnTabChangeListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.breakfast_lunch_dinner_individual_list_of_items);

        Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost(); // The activity TabHost
        TabHost.TabSpec spec; // Reusable TabSpec for each tab
        Intent intent; // Reusable Intent for each tab

        String REST = getTabHost().toString();

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, BLD_IndividualListOfItems_Starters.class);
        //intent.putExtra("Starters", REST);
        spec = tabHost.newTabSpec("Starters").setIndicator("Starters").setContent(intent);
        tabHost.addTab(spec);

        // Do the same for the other tabs

        intent = new Intent().setClass(this, BLD_IndividualListOfItems_MainCourse.class);
        //intent.putExtra("MainCourse", REST);
        spec = tabHost.newTabSpec("MAIN_COURSE").setIndicator("Main Course").setContent(intent);
        tabHost.addTab(spec);
    }

    public void onTabChanged(String arg0)
    {
        // TODO Auto-generated method stub
        //Toast.makeText(getApplicationContext(),arg0, Toast.LENGTH_LONG).show();
    }
}

  • 我尝试使用
    String REST=getTabHost().toString()tabtext
    发送到 选项卡启动的活动

  • 我知道tab的活动是无润滑的,我只是在学习
  • 如何解决这个问题,希望我很清楚
这里的
初学者
主菜
是选项卡的标题。将此字符串发送到有界活动的最简单方法是通过绑定到相应活动的意图发送它们 禁忌

    String TAB_TITLE="Starters";
    Intent intent = new Intent().setClass(this, BLD_IndividualListOfItems_Starters.class);

    Bundle bundle =new Bundle();
    bundle.putString("key_title", TAB_TITLE);
    intent.putExtras(bundle);

    spec = tabHost.newTabSpec("Starters").setIndicator(TAB_TITLE).setContent(intent);
    tabHost.addTab(spec);
下面是如何在
BLD_IndividualListOfItems_Starters
活动中获取此字符串:

protected void onCreate(Bundle savedInstanceState) {
     ...
     String title=getIntent().getExtras().getString("key_title");
}
但正如拉古南丹所说,最好使用片段,而不是去种族化的
TabActivity

编辑:

如果您希望以友好方式向相应的活动发送文本,我的意思是在更改选项卡之后-您可以:

  • 使用字符串创建并广播自定义意图
  • BLD\u IndividualListOfItems\u启动器中
    活动寄存器
    BroadcastReceiver
    ,它将捕获您的自定义意图并从中提取文本 您不能直接从
    BLD\u IndividualListOfItems\u启动器
    访问选项卡文本,因为
    TabActivity
    BLD\u IndividualListOfItems\u启动器
    是两个不同的活动。 但您可以通过捆绑包、静态字段、单例等在活动之间发送数据。这里是指向文档的链接

    TabActivity
    已被弃用。我知道tab的活动是无润滑的。。。。但我只是想学一些基础知识。。。。我们如何才能做到这一点!我建议您使用文档中建议的片段,以及我之前在其他帖子中建议的使用接口作为活动的回调。从活动向其他片段传达价值,但为什么要从不推荐的东西开始呢?正如@Raghunandan所建议的,从片段开始,至少它的基础知识会对您有所帮助。开发者基础知识:永远不要使用不推荐的代码。@almaz_from_kazan。。。。。非常感谢。我确实实现了我的目标。。。。我还有一个疑问。。。。您已经硬编码了字符串选项卡\u TITLE=“Starters”。。。。。。是否有一种方法可以动态访问选项卡文本。。。所以我可以通过。。。。我指的是我们如何从edittext动态获取值。。。。有什么意见吗?
    protected void onCreate(Bundle savedInstanceState) {
         ...
         String title=getIntent().getExtras().getString("key_title");
    }