我找到了构建一些输入框的代码,但它们没问题,但是在这段代码中它只是不起作用:
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 );”中插入一些东西时,我就没有任何错误。我知道,“这个”必须引用某些东西。当我使用这个时在menuitem上的代码片段,它运作良好,但我希望每当我激活我的编辑按钮时使用它(这就是if(editOn == 1)意味着)并点击文本视图。这是一种令人困惑的我认为,但我希望有人在那里了解我的需要,并可能帮助我!
答案 0 :(得分:17)
您正尝试将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();
答案 1 :(得分:0)
这个问题很老但也许有人会觉得有用! :)
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();