Alertクラスを使用して、すべてのアラート ダイアログを定義し、ステータス メッセージをユーザーに表示します。これは、管理がより快適だからです。
このクラスで定義される典型的なダイアログは次のとおりです。
public static void DataCleared(Context con) {
AlertDialog.Builder builder = new AlertDialog.Builder(con);
builder.setTitle(R.string.data_cleared_title);
builder.setIcon(android.R.drawable.ic_dialog_info);
DialogListner listner = new DialogListner();
builder.setMessage(R.string.data_cleared_text);
builder.setPositiveButton("ok", listner);
AlertDialog diag = builder.create();
diag.show();
}
このダイアログには、クリックするとダイアログを閉じる [OK] ボタンがあります。
単純に呼び出すアクティビティでこれらのダイアログを表示します
Alerts.DataCleared(MyActivity.this)
今、同じように、ダイアログを閉じるためのキャンセルボタンと別のGoogle Playアプリへのリンクを開くためのマーケットボタンの2つのボタンを持つダイアログを作成したい
私が試してみました
public static void TryThisApp(Context con) {
AlertDialog.Builder builder = new AlertDialog.Builder(con);
builder.setTitle(R.string.my_title);
builder.setIcon(android.R.drawable.ic_dialog_info);
builder.setMessage(R.string.my_text)
.setCancelable(false)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent marketIntent = new Intent(
Intent.ACTION_VIEW,
Uri.parse("market://details?id=com.myapp.sample"
+ getPackageName()));
startActivity(marketIntent);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog diag = builder.create();
diag.show();
}
しかし、うまくいかず、「非静的メソッドへの静的参照を作成できません...」というさまざまなコンパイル エラーが発生します。
getPackageName()
startActivity(marketIntent);
Eclipse によって赤い下線が引かれ、このメッセージが表示されます
この問題を解決するにはどうすればよいですか? リンクを開くボタンとキャンセル ボタンのあるダイアログを作成するにはどうすればよいですか?