0

好的,我对 android 开发真的很陌生,四处寻找一个清晰的解释,但找不到太多。我会尽量让我的问题尽可能清楚。

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

所以我有一种方法可以在创建活动中单击创建按钮

 public void create(View view){

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

}

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

4

1 回答 1

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. 
}
于 2013-07-22T19:50:46.020 回答