在我的活动的 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 方法中所做的事情?
谢谢,扎克