我想从我的自定义组件中完成 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();
}
});
}
}