2.3.3 以降で動作する電話で使用できる簡単な popupmenu を探しています。
このようなもので、リストビューを必要としないという点で ContextMenu とは動作が異なります。
以下を試してください:
レイアウト フォルダーにファイル dialog.xml を作成し、次のコードを追加します。
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/ErrorMsg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Do you want to un-install this app?" />
<LinearLayout
android:layout_below="@+id/ErrorMsgDialog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button android:id="@+id/Cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="15sp"
android:text="Cancel" />
<Button android:id="@+id/Ok"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="15sp"
android:text="OK" />
</LinearLayout>
次に、クラスファイルで次のコードを使用してダイアログを表示します。
AlertDialog.Builder builder = new AlertDialog.Builder(context);
View view = LayoutInflater.from(context).inflate(
R.layout.dialog, null);
builder.setView(view);
dialog = builder.create();
dialog.setCanceledOnTouchOutside(true);
Button cancel = (Button) view.findViewById(R.id.Cancel);
cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
Button ok = (Button) view.findViewById(R.id.Ok);
ok.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Do something here for OK action
}
});
dialog.show();
これを行う簡単な方法は、AlertDialog.Builder オブジェクトを作成し、その正と負のボタンを構成し、タイトルとメッセージを設定して完了です。レイアウト ファイルが不要になります。