ダイアログボックスを生成するImageButtonを備えたカスタムタイトルバーがあり、リストアイテムがダイアログボックスから選択され、タイトルバーとマップがあるときに、マップ(別のクラス)に場所(itemizedOverlayを配置)を表示できるようにしたい同じ文脈。コンテキストを使用して別のクラスのメソッドを呼び出すことができることをどこかで読みました。どうすればそうできますか?
public class MyTitleBar extends RelativeLayout{
private Context context;
public MyTitleBar(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
initViews();
}
// set up all the buttons & clicks
private void initViews() {
final ImageButton listImgBtn = (ImageButton) findViewById(R.id.more);
final CharSequence [] listItems = {"Elderly","Events"};
listImgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(context instanceof UserHome)
{
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("List");
builder.setItems(listItems, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
// TODO Auto-generated method stub
if(item == 0)
{
//show location of elderly
//DisplayLocation()
}
else if(item == 1)
{
//show location of events
}
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
});