我找到了构建一些输入框的代码,它们没问题,但是在此代码中它不起作用:
View.OnClickListener handleOnClick(final TextView textview) {
return new View.OnClickListener() {
public void onClick(View v) {
if(editOn==1){
textview.setText("neuer Text");
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Hinzufügen");
alert.setMessage("Name des neuen Eintrags");
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String entryInput = input.getText().toString();
loadUp(entryInput,"0","1.1.2000");
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
}
}
};
}
它说,"构造函数 AlertDialog.Builder(new View.OnClickListener(){}) 是未定义的"每当我尝试在"..new AlertDialog.Builder(this);,那么我没有任何错误。我知道,"这个"必须指的是什么。当我在菜单项上使用此代码片段时,它运行良好,但是每当我激活编辑按钮(这就是 if(editOn==1) 的意思)并单击文本视图时,我都想使用它。我认为这有点令人困惑,但我希望有人了解我需要什么并可以帮助我!
您正在尝试将 clickListener 实例发送到构造函数AlertDialog.Builder
。
AlertDialog.Builder alert = new AlertDialog.Builder(this);
尝试发送活动的实例。例如,如果您的活动名称MainActivity
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
或:
AlertDialog.Builder alert = new AlertDialog.Builder(v.getContext());
编辑:要显示AlertDialog
请使用其show()
方法:
AlertDialog dialog = alert.create();
dialog.show();
查看文档
这个问题很老了,但也许有人会觉得有用! :)
AlertDialog.Builder builder = new AlertDialog.Builder(((MainActivity ) getActivity()));
builder.setMessage( "No connectivity").setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int id) {
}
});
AlertDialog alert = builder.create();
alert.show();