-3

首先,和很多人一样,我最近才开始尝试学习 Java 和 Android 开发。我正在关注一些教程等。无论如何,我正在尝试做一些可能非常简单的事情,但我不确定要完成的语法,因此,不知道如何在互联网上成功搜索它。

我的问题:我有一个“Main.java”文件和第二个“Tabs.java”。main 具有您对默认存根所期望的一切:

package com.example.main;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class Main extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

我的 Tabs.java 看起来像:

package com.example.main;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

public class Tabs extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tabs);

        //Initiate tabs
        TabHost th = (TabHost)findViewById(R.id.tabhost);
        th.setup();

        //Create tab1
        TabSpec specs = th.newTabSpec("tag1");
        specs.setContent(R.id.tab1);
        specs.setIndicator("Reservation List");
        th.addTab(specs);
    }
}

我希望在程序启动时启动此选项卡类,以设置选项卡式视图。我可以把它放到主类中,但我想我会尝试通过将它们分开来保持代码更整洁。我怎样才能完成这个?

4

1 回答 1

2

“答案”是这是一个坏主意。但是,我认为值得解释为什么这是一个坏主意。听起来您混淆了两个基本概念 -class存在于面向对象语言Java中的 a 和 android Activity

AnActivity真的很像一个单独的程序。它包含执行特定任务所需的所有(或至少大部分)材料。一个应用程序可以组合多个活动来处理一种以上的任务——例如,在消息传递应用程序中,您可能有一个活动显示用户联系人,另一个活动允许您向他们发送消息。这些活动是分开的。正如@codeMagic 所提到的,您可以在它们之间传输数据,Intents但在大多数情况下,每个Activity都是自包含的。

Aclass是面向对象编程的一个概念,用作创建该类型对象的蓝图。Oracle Java 文档提供了这个概念的一个很好的例子。类很有用,因为它们允许您设置一种对象的属性,以便稍后在您的应用程序中使用,从而大大提高了灵活性。

我在上面引用的聊天应用程序示例是了解您将在何处/如何使用类的好方法。在那种情况下,当您必须显示一个人的联系人列表时,您将无法提前知道该列表中包含的每个用户、您将获得哪些信息或将有多少人。为了处理这种情况,您将创建一个class被调用用户。用户类将包含您想要显示的有关特定人员的所有详细信息。也许这将包括他们的姓名、地址、电话号码等等。您可以设置一个普遍适用于所有用户的属性列表,然后为您希望显示的每个人创建用户类的各个实例,并填写提供的数据。

简而言之-您的活动与 a 的工作方式不同class(但请参阅可以表现相似的片段)。对于您要执行的操作,请在您的主要活动中创建选项卡。

于 2013-04-05T19:18:59.660 回答