Button
Android アプリケーションでをクリックすると、メソッドが非同期で呼び出されているように見えます。以下をクリックするButton
と、呼び出したい:
loc = new Location(Options.this);
それが終わったら、私は電話したい:
setLocationPref();
実際に何が起こるかというと、私のプログラムが「displayLocations」の下のメソッドに入ると、再びボタンに戻って呼び出します:
setLocationPref();
エラーは次の 2 行のコードにあると思います。
builder.setItems(cs, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int item){
誰かに何かアイデアがあれば教えてください、どうもありがとう:)
/** Location selection */
bLocation = (Button) findViewById(R.id.bLocation);
bLocation.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
loc = new Location(Options.this);
loc.locationSelection();
setLocationPref();
}
});
/** ここで失敗します */
/** Display locations in a list */
public void displayLocations(){
Log.d("displayLocations", "displayLocations ");
LocationSQL getSetLocation = new LocationSQL(context);
final ArrayList<String> locations = locSQL.allLocations();
final CharSequence[] cs = locations.toArray(new CharSequence[locations.size()]);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Pick your location.");
builder.setItems(cs, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int item){
/** FAILS HERE */
Toast.makeText(context, cs[item], Toast.LENGTH_SHORT).show();
String selectedLocation = locations.get(item);
updateLocationInfo(selectedLocation);
}
});
builder.create().show();
}