1

私はプログラミングに不慣れで、AlertDialogを機能させるのにいくつかの問題があります。6つのボタンが表示されていますが、6番目のボタンがクリックされたときにアラートダイアログを追加したいと思います。しかし、「コンストラクターAlertDialog.Builder(LayoutOne、int)が未定義です」というエラーが表示されます。誰か助けてもらえますか?

ありがとうございました!

public class LayoutOne extends Fragment implements OnClickListener {

    public static Fragment newInstance(Context context) {
        LayoutOne f = new LayoutOne();

    return f;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    ViewGroup root = (ViewGroup) inflater
            .inflate(R.layout.layout_one, null);
    ((Button) root.findViewById(R.id.drink)).setOnClickListener(this);
    ((Button) root.findViewById(R.id.sleep)).setOnClickListener(this);
    ((Button) root.findViewById(R.id.food)).setOnClickListener(this);
    ((Button) root.findViewById(R.id.events)).setOnClickListener(this);
    ((Button) root.findViewById(R.id.beach)).setOnClickListener(this);
    ((Button) root.findViewById(R.id.map)).setOnClickListener(this);

    return root;
}

public void onClick(View v) {
    // TODO Auto-generated method stub
    Button tmp = (Button) v;
    Button map = (Button) v;
    if (tmp.getId() == R.id.drink) {
        startActivity(new Intent("com.creatriks.zrce.DRINK"));
    } 
        if (tmp.getId() == R.id.sleep) {
            startActivity(new Intent("com.creatriks.zrce.SLEEP"));
        } 
            if (tmp.getId() == R.id.food) {
                startActivity(new Intent("com.creatriks.zrce.FOOD"));
            }


                if (tmp.getId() == R.id.events) {
                    startActivity(new Intent("com.creatriks.zrce.EVENTS"));
                } 
                    if (tmp.getId() == R.id.beach) {
                        startActivity(new Intent("com.creatriks.zrce.BEACH"));
                    }

                        if (map.getId() == R.id.map) {



                            AlertDialog alert = new AlertDialog.Builder(LayoutOne.this, AlertDialog.THEME_HOLO_LIGHT).create();
                            alert.setTitle("Options");
                            alert.setMessage("Choose an action");

                            startActivity(new Intent("com.creatriks.zrce.MAP"));



                }
            }

}

4

1 に答える 1

4

getActivity()フラグメントに関連付けられたアクティビティを返す使用。

これを変える

AlertDialog alert = new AlertDialog.Builder(LayoutOne.this, AlertDialog.THEME_HOLO_LIGHT).create();

これに

AlertDialog alert = new AlertDialog.Builder(getActivity(), AlertDialog.THEME_HOLO_LIGHT).create();
于 2012-06-17T08:00:57.130 に答える