在android中的活动之间工作

时间:2013-07-22 19:29:38

标签: android android-activity

好的,我对Android开发真的很陌生,并四处寻找明确的解释但却找不到多少。在我的问题中,我会尽可能地保持清晰。

基本上,假设我有2个活动,一个创建活动,其中包含带有文本框的表单等(用户填写的信息),以及底部的创建按钮。我的第二个名为Creations的活动在视觉上基本上是空的,直到用户在“创建活动”中创建带有表单的内容。

所以我有一个方法可以在创建活动

中单击创建按钮
 public void create(View view){

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

}

现在这个make()方法在Creations Activity中,它在提交信息的页面上绘制一个自定义视图,我希望每次用户单击Create Activity中的create按钮时调用它。我知道除非make()是一个静态方法,否则我不能这样做,但那么我将如何实现呢?我知道我必须创建一个Creations Activity的对象,但是我不必为每个要添加的新项目创建相同活动的多个对象吗?

1 个答案:

答案 0 :(得分:1)

基本上您不需要创建活动的明确object,您只需要使用api startActivity()启动活动;

现在,在您的情况下,

onCreatePressed()中的方法CreateActivity如下所示,

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. 
}