これは初心者向けの質問の1つになると100%確信していますが、ここではそれは...アプリで利用できるメソッドはありますか?
1つのアクティビティにメソッドを書き込んで、そこからアクセスできる方法はありますかその他?
例: ごとに、利用可能なオプションが異なる必要があるので、私は私のアプリでは6つのactivites、それ自身のmenu.xmlとそれぞれを持っている、と私はこれらのメニューに示すように設定さ&メニューアイテムがあります。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.calculator_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//Handle item selection
switch (item.getItemId()) {
case R.id.menuItem_calculator_Help:
helpDialogGo();
return true;
case R.id.menuItem_calculator_Settings:
//settingsActivityGo();
return true;
case R.id.menuItem_calculator_Share:
shareGo();
return true;
case android.R.id.home:
// app icon in Action Bar clicked; go home
Intent uptohome = new Intent(this, Main.class);
uptohome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(uptohome);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
を
次のいずれかの方法の例は次のとおりです。
private void helpDialogGo() {
Toast.makeText(this, "help", Toast.LENGTH_LONG).show();
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setMessage("Sorry, no help has been written since this application is still in development. This is a prerelease version.")
.setCancelable(false)
.setPositiveButton("Cool", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'Yes' Button
dialog.cancel();
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'NO' Button
dialog.cancel();
}
});
AlertDialog alert = alt_bld.create();
// Title for AlertDialog
alert.setTitle("Pixel Help");
// Icon for AlertDialog
alert.setIcon(R.drawable.question);
alert.show();
}
だから、すべての活動の間で共有このカスタムメソッドを持っており、ボタンはそれらのそれぞれに押されたときにそれを実行する方法は避けるために、そこにあります大規模なamounを持つ私のアプリで複製されたコードは何ですか?
もしそうなら、私が打つことができる穴がありますか? (メニュー項目の中にはダイアログを表示するものもあれば、新しいアクティビティに移動するものもあります)
これはこれを実行するための実際の方法です。 Android固有のものではなく、クラス設計のベストプラクティスとの関連性が高いです。 – omermuhammed
私が始める前にもう少し詳しく説明できますか? – rabbitt
@omermuhammedが同意します。 rabs83ないあなたはもっと期待してください@ – GSree