Android 获取EditText字段的值
我是一个android新手,作为测试,我想制作一个在EditText中插入文本并显示的程序。我想让我的程序显示一个对话框,当EditText中没有值时,该对话框状态为“请先插入注释”。但是Android 获取EditText字段的值,android,gettext,tostring,textedit,Android,Gettext,Tostring,Textedit,我是一个android新手,作为测试,我想制作一个在EditText中插入文本并显示的程序。我想让我的程序显示一个对话框,当EditText中没有值时,该对话框状态为“请先插入注释”。但是 comments.getText().toString()==null 会产生错误。这是我的密码: package android.insertcomments; import android.app.Activity; import android.app.AlertDialog; import and
comments.getText().toString()==null
会产生错误。这是我的密码:
package android.insertcomments;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
public class InsertCommentsActivity extends Activity {
/** Called when the activity is first created. */
public Button insertcom;
public Button displaycom;
public EditText comments;
public Button savecom;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Insert Comments App");
setContentView(R.layout.home);
insertcom = (Button) findViewById(R.id.insertcom);
displaycom = (Button) findViewById(R.id.displaycom);
insertcom.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
addListenerOnButton();
}
});
displaycom.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
if (comments.getText().toString()==null)
noCommentsErrormessage();
else
// Display comments
}
});
}
public void addListenerOnButton() {
setContentView(R.layout.comments_adder);
savecom = (Button) findViewById(R.id.savecom);
savecom.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
comments = (EditText) findViewById(R.id.commentsEditText);
Toast.makeText(InsertCommentsActivity.this, comments.getText().toString(),
Toast.LENGTH_SHORT).show();
}
});
}
public void noCommentsErrormessage() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Error!")
.setMessage("Please insert comments first")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
我的代码应该按如下方式工作:
1.单击“插入注释”按钮时,将显示文本编辑字段,您可以输入注释
2.当您单击“显示注释”按钮时,程序将检查EditText字段中是否存储了一些值
-如果否,则会显示一个对话框,说明“请先插入注释”
-如果是,则显示文本编辑字段的内容
任何帮助都将不胜感激。
先谢谢你
comments = (EditText) findViewById(R.id.commentsEditText);
必须在oncreate方法中,并且在一个按钮的clicke事件中,您正在使用另一个按钮事件,因此它会崩溃。因此,您希望在按下Insert comments时显示EditText。按如下方式操作: 正如Agrwal所说,在oncreate中初始化注释,并通过以下代码立即使其不可见(4)/消失(8):
comments = (EditText) findViewById(R.id.commentsEditText);
comments.setVisibility(8);//to make it invisible
comments.setEnabled(false);//to disable it
现在,在insertcom的onclick()
comments.setVisibility(0);//to make it visible
comments.setEnabled(true);//to enaable it