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