当我点击选择对话框的选项时,我将显示带有吐司的消息。但是在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()。谢谢大家。
答案 0 :(得分:1)
在该特定行中,您位于新的DialogInterface.OnClickListener的上下文中,而不是您的片段。
你应该通过以下方式从片段中获取Context:
getActivity().getApplicationContext()
答案 1 :(得分:0)
放
getActivity().getApplicationContext()
答案 2 :(得分:0)
使用此:
getActivity().getApplicationContext()
答案 3 :(得分:0)
您可以使用getApplicationContext()
DialogoSeleccion.this