原代码已被删除,显示新的工作代码。代码背后的想法是在布局中创建一个新的 textView,该布局具有用户提供的自定义名称。以前,发生了 NPE 错误。这是一个修复。有任何问题,请随时提出。
编辑:找到解决方案
修复需要如下:
accountEdit = new EditText(this); // accountEdit needs to be a global variable
然后在 builder.setPositiveButton
builder.setPositiveButton(R.string.btn_save, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dInterface, int whichButton)
{
LinearLayout lineLayout = (LinearLayout)findViewById(R.id.linear_layout);
String newAccountName = accountEdit.getText().toString();
newTextView = new TextView( getBaseContext() );
newTextView.setVisibility(View.VISIBLE);
newTextView.setText( newAccountName );
newTextView.setId(id);
newTextView.setTextSize(35);
newTextView.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
onClickNew(view);
}
});
newTextView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
Toast.makeText(getBaseContext(), "Testing" , Toast.LENGTH_LONG).show();
return true;
}
});
这将创建按钮,并将按钮的名称设置为对话框中 EditText 中的信息。以前,EditText 来自另一个活动,并且被调用错误,这导致了 NPE。谢谢大家的帮助。