【发布时间】:2012-06-13 02:25:11
【问题描述】:
我想从我的自定义组件中完成 Activity。
问题是如何从我的自定义组件中获取 Activity 的引用?
我能得到的只是自定义组件中的Context。
我尝试将Context 转换为Activity(代码如下),看起来还可以。
但我不确定这一点。也许有更好的方法。
所以,请告诉我这段代码是否足够好或有任何问题或风险。
public class MyCustomComponent extends RelativeLayout {
private Activity activity;
public MyCustomComponent(Context context, AttributeSet attrs) {
super(context);
Button btn = new Button(context);
btn.setText("finish");
addView(btn);
activity = (Activity)context; // here I want to get the Acitivity reference
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
MyCustomComponent.this.activity.finish();
}
});
}
}
【问题讨论】: