使用Toast时getApplicationContext()出错

时间:2014-11-20 19:47:53

标签: android

当我点击选择对话框的选项时,我将显示带有吐司的消息。但是在eclipse中,getApplicationContext()中出现了一个错误。

选择对话框的代码:

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import android.content.Context;
public class DialogoSeleccion extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
 final String[] items = {"Español", "Inglés", "Francés"};
    AlertDialog.Builder builder =
            new AlertDialog.Builder(getActivity());
    builder.setTitle("Selección")
       .setItems(items, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(getApplicationContext(),
                        "Opción seleccionada: " + item, Toast.LENGTH_LONG).show();                }
        });
    return builder.create();
}

}

错误消息是:

  

方法getApplicationContext()未定义类型new DialogInterface.OnClickListener(){}

我不知道如何解决这个问题。

编辑:好的。谢谢。解决了getActivity()。getApplicationContext()。谢谢大家。

4 个答案:

答案 0 :(得分:1)

在该特定行中,您位于新的DialogInterface.OnClickListener的上下文中,而不是您的片段。 你应该通过以下方式从片段中获取Context: getActivity().getApplicationContext()

答案 1 :(得分:0)

getActivity().getApplicationContext()

答案 2 :(得分:0)

使用此:

getActivity().getApplicationContext()

答案 3 :(得分:0)

您可以使用getApplicationContext()

,而不是使用DialogoSeleccion.this