在android中的活动之间工作

在android中的活动之间工作,android,android-activity,Android,Android Activity,好吧,我对安卓系统的开发还很陌生,四处寻找一个清晰的解释,但找不到太多。我会尽量把我的问题说清楚 基本上,假设我有2个活动,一个创建活动包含一个带有文本框的表单等(用户填写的信息),以及底部的创建按钮。我的第二个名为creates的活动在视觉上基本上是空的,直到用户使用Create活动中的表单创建了一些东西 因此,我有一个方法来确定在“创建”活动中单击“创建”按钮的时间 public void create(View view){ Creations.make(info1, blah

好吧,我对安卓系统的开发还很陌生,四处寻找一个清晰的解释,但找不到太多。我会尽量把我的问题说清楚

基本上,假设我有2个活动,一个创建活动包含一个带有文本框的表单等(用户填写的信息),以及底部的创建按钮。我的第二个名为creates的活动在视觉上基本上是空的,直到用户使用Create活动中的表单创建了一些东西

因此,我有一个方法来确定在“创建”活动中单击“创建”按钮的时间

 public void create(View view){

    Creations.make(info1, blah1, blah2, etc);

}

现在这个make()方法在creates活动中,它在该页面上绘制一个自定义视图,其中包含提交的信息,我希望在用户每次单击create活动中的create按钮时调用它。我知道除非make()是一个静态方法,否则我无法实现这一点,但除此之外我如何实现它呢?我知道我将不得不为我的创作活动制作一个对象,但是对于我想添加的每个新项目,我不需要为同一活动制作多个对象吗

基本上,您不需要创建活动的显式
对象
,只需使用api
startActivity()
启动活动即可

现在,就你而言

CreateActivity
中会有一个方法
onCreatePressed()
,如下所示

public void onCreatePressed(View v) {
    Intent intent = new Intent(CreateActivity.this, CreationActivity.class);
    intent.putExtra(KEY_INFO, info);
    intent.putExtra(KEY_BLAH1, blah1);
    .
    .

    CreateActivity.this.startActivity(intent);
}
CreationActivity
中,您必须重写
onCreate()
方法,如下所示

public void onCreate(Bundle savedInstanceState) {
    Intent intent = getIntent();

    /* if info type is of int there is a method getIntExtra and so on, 
     * if it is a custom class then it must implement Serializable interface 
     * and there is method getSerializableExtra for this.
     */ 
    InfoType info = intent.get<InfoType>Extra(KEY_INFO);
    .
    .
    .

    // setContentView(some_resource_id);

    // inflate it with the data. 
}
public void onCreate(Bundle savedInstanceState){
Intent=getIntent();
/*如果信息类型为int,则有一个方法getIntExtra等,
*若它是一个自定义类,那个么它必须实现可序列化接口
*还有一个方法getSerializableExtra。
*/ 
InfoType info=intent.getExtra(KEY\u info);
.
.
.
//setContentView(某些资源id);
//用数据把它膨胀起来。
}

你说你是Android新手。您是否了解
活动
基本上是一个UI框架,只有在完全可见时才被视为处于运行状态?如果是这样,创建
活动
将在何时以及如何开始?您应该在developer.android.com上阅读更多内容并完成教程。你偏离了轨道。您不应该将静态方法添加到活动中,而应该将值传递给具有
意图的新活动
抱歉,我不够清楚,当用户通过按钮访问创建活动时,创建活动已启动。它是这样的(Creations Create Form),因此您可以始终从主页访问Creations活动,也可以通过Create Form Activitiy添加到该活动中。我可以看到您使用向CreationActivity发送数据的意图在做什么。但是现在假设我返回到Create表单并提交另一组数据,我希望在CreationActivity中添加新数据,而不覆盖以前的数据,因此我基本上是添加一组新数据,使用此方法有效吗?为此,当返回时,您必须将
旧的
数据存储到类似的位置。文件、共享首选项或数据库,以便您可以在CreationActivity中显示
旧的
以及
新的
数据。我建议你去看看这个