2016-07-20 7 views
1

こんにちは私は昼食を取るためにif文を使用しようとしています。次のコードはオブジェクト指向ではありません。いずれも私がこの多くのOPPは、エラーを取得して作ることができる方法を知っています(「変数の意図が初期化されていない可能性があります」)|アンドロイドアプリカテゴリ検索このコードをもっとオブジェクト指向にするにはどうしたらいいですか?

if (view.getId() == R.id.loadExistingBuildButton) { 
     intent = new Intent(this, LoadExistingBuildActivity.class); 
     startActivity(intent); 
    } else if (view.getId() == R.id.createNewBuildButton) 
     intent = new Intent(this, CreateNewBuildActivity.class); 
    startActivity(intent); 
} 
+0

あなたはuldは、アクティビティのクラスタイプを別のクラスにリファクタリングすることを検討します(例:あなたのコードは次のようになります:startActivity(新しいintent(this、BuildActivityFactory.getInstance()。getClassType(view.getId()))); – FishStix

答えて

2
int id = view.getId(); 
if (id == R.id.loadExistingBuildButton) 
    startActivity(new Intent(this, LoadExistingBuildActivity.class); 
else if (id == R.id.createNewBuildButton) 
    startActivity(new Intent(this, CreateNewBuildActivity.class)); 

あなたはAの他にステートメントを追加することができますデフォルトの場合。

あなたがもし/他の多くで終わる場合は、

public void runIntentActivity(Activity someName) 
{ 
     startActivity(new Intent(this, someName.class)); 
} 

のような方法を使用して検討することもできIFSので、あなたが

runIntentActivity(LoadExistingBuildActivity) 

代わりの

startActivity(new Intent(this, LoadExistingBuildActivity.class); 

を呼び出すことができますそれぞれのif/elseif

関連する問題