好的,我对Android开发真的很陌生,并四处寻找明确的解释但却找不到多少。在我的问题中,我会尽可能地保持清晰。
基本上,假设我有2个活动,一个创建活动,其中包含带有文本框的表单等(用户填写的信息),以及底部的创建按钮。我的第二个名为Creations的活动在视觉上基本上是空的,直到用户在“创建活动”中创建带有表单的内容。
所以我有一个方法可以在创建活动
中单击创建按钮 public void create(View view){
Creations.make(info1, blah1, blah2, etc);
}
现在这个make()方法在Creations Activity中,它在提交信息的页面上绘制一个自定义视图,我希望每次用户单击Create Activity中的create按钮时调用它。我知道除非make()是一个静态方法,否则我不能这样做,但那么我将如何实现呢?我知道我必须创建一个Creations Activity的对象,但是我不必为每个要添加的新项目创建相同活动的多个对象吗?
答案 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.
}