アクティビティのonCreateメソッドで、getLocProvider()というメソッドを呼び出しました。ロケーションプロバイダーを私に返すことになっています。そのメソッドにアラートダイアログを表示させました。コードは次のとおりです。
private void getLocProvider(){
ArrayList<String> providers = new ArrayList<String>();
List<String> list = locManager.getProviders(true);
for(int i=0; i<list.size(); i++){
if(list.get(i).equalsIgnoreCase("gps")){
providers.add("GPS");
}
else if(list.get(i).equalsIgnoreCase("network")){
providers.add("Network");
}
}
providers.add("Manual");
final CharSequence[] items = providers.toArray(new CharSequence[providers.size()-1]);
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
dialogBuilder.setTitle("Choose a way of finding your location:");
dialogBuilder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//This is where I'm stuck
}
});
AlertDialog alert = dialogBuilder.create();
alert.show();}
リスナーを使用しても、メソッドを介して結果を返すだけでは不十分です。この問題を解決する方法を誰かが知っていますか?グーグル検索では、ダイアログの完了時に起動される別の関数を作成することを提案しましたが、その結果をonCreateメソッドで実行しているものに戻すにはどうすればよいですか?
ありがとう、ザック