0
我想完成我的自定义组件中的活动。 问题是如何从我的自定义组件获取活动的引用? 我可以得到的是自定义组件中的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();
}
});
}
}
对不起,我不很懂这个。但恐怕自定义组件不能像这样的构造函数正常工作。 – hardPass
嗨,其实我只是从你的代码直接复制,并没有问题来完成我的活动。 – Kendroid
我编辑了我的答案,希望这可以帮助:) – Kendroid