package com.example.nemophila;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
import com.example.nemophila.entities.Shop;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class MapsDialogFragment extends DialogFragment {
private Collection<Shop> shops;
public MapsDialogFragment(Collection<Shop> shops) {
this.shops = shops;
}
Nemophila nemophila;
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
nemophila = (Nemophila) getActivity().getApplication();
String[] choices = new String[shops.size()];
//ArrayList<String> choices = new ArrayList<>();
Shop[] shoplist = new Shop[shops.size()];
int j = 0;
for (Iterator i = shops.iterator(); i.hasNext(); j++) {
Shop tmp = (Shop)i.next();
choices[j] = tmp.getName();
shoplist[j] = tmp;
}
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("周囲の店舗情報")
.setPositiveButton("新規作成", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//このボタンを押した時の処理を書きます。
//新規投稿画面へ遷移
//ShopCreate画面に遷移
Intent intent = new Intent(getActivity(), ShopCreateActivity.class);
startActivity(intent);
}
})
.setNeutralButton("キャンセル", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// このボタンを押した時の処理を書きます。
}
})
.setItems(choices, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getActivity(),
String.format("「%s」を選択しました。", choices[which]),
Toast.LENGTH_SHORT)
.show();
//そのShopをNemophilaに渡す
nemophila.setCurrentShop(shoplist[which]);
//そのShopのPostActivityに遷移
//PostCreate画面に遷移
Intent intent = new Intent(getActivity(), PostActivity.class);
startActivity(intent);
}
});
return builder.create();
}
}