从EditText Android获取价值时失败

时间:2013-11-22 04:00:52

标签: android android-edittext

我尝试显示编辑文本中的信息但不起作用。我不知道为什么编辑文本ID名称不显示。这是我的屏幕 `

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#e40d77"
        android:gravity="center"
        android:text="@string/addnewperson"
        android:textColor="#FFFFFF" />



        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="2dp"
            android:text="@string/personName" />


        <EditText
            android:id="@+id/nameperson"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="2dp"
            android:hint="@string/entername"
            android:inputType="text"
            android:maxLength="20"
            android:text="" />


        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="2dp"
            android:text="@string/gender" />

` 我的活动。我得到编辑文本ID nameperson的值并显示它。但它不起作用

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    nameEdit = (EditText) findViewById(R.id.nameperson);
    personHeightEitText = (EditText) findViewById(R.id.insert_height_editText);
    personHairEitText = (EditText) findViewById(R.id.insert_hair_editText);
    personSkinEditText = (EditText) findViewById(R.id.insert_skin_editText); // 
    personCommentEitText = (EditText) findViewById(R.id.insert_comment_editText);

    cancelButton = (Button) findViewById(R.id.insert_cancel_button);
    cancelButton.setOnClickListener(this);
    saveButton = (Button) findViewById(R.id.insert_save_button);
    saveButton.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    if (v.getId() == R.id.insert_cancel_button) {
        Intent homeIntent = new Intent(AddNewPerson.this,
                MainActivity.class);
        startActivity(homeIntent);
    } else if (v.getId() == R.id.insert_save_button) {

        String strName1 = nameEdit.toString();
        //strName1 = strName1.trim();
        if(strName1.length() < 1){
            nameEdit.requestFocus();
            nameEdit.selectAll();
            Toast.makeText(this, "You must enter name of this person!",
                    Toast.LENGTH_LONG).show();
            return;
        }


        String strHeight1 = personHeightEitText.getText() + "";

        int heightInt = Integer.parseInt(strHeight1);


        RadioGroup group = (RadioGroup) findViewById(R.id.radioGroup1);
        int id = group.getCheckedRadioButtonId();
        rad = (RadioButton) findViewById(id);
        String strGender1 = (String) rad.getText() + "";


        String strAge1 = selection.getText() + "";

        String strHair1 = personHairEitText.getText() + "";

        String strSkin1 = personSkinEditText.getText() + ""; // ChauNNB

        String strComment1 = personCommentEitText.getText() + "";

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Confirm Information");
        builder.setPositiveButton("Cancel",
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        dialog.cancel();
                    }
                });
        builder.setNegativeButton("Save",
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        strName = nameEdit.getText()
                                .toString();

                        String strGender = rad.getText().toString();
                        String strHeight = personHeightEitText.getText()
                                .toString();
                        String strAge = selection.getText().toString();
                        String strHair = personHairEitText.getText()
                                .toString();
                        String strSkin = personSkinEditText.getText()
                                .toString(); // ChauNNB 110513
                        String strComment = personCommentEitText.getText()
                                .toString();

                        person per = new person();
                        per.setPersonName(strName);
                        per.setPersonGender(strGender);
                        per.setPersonHeight(strHeight);
                        per.setPersonAge(strAge);
                        per.setPersonHair(strHair);
                        per.setPersonSkin(strSkin);// ChauNNB 110513
                        per.setPersonComment(strComment);

                        personArrayList.add(per);
                        insertPerson(per);
                        // finish();
                        Intent homeIntent = new Intent(AddNewPerson.this,
                                MainActivity.class);
                        startActivity(homeIntent);
                    }
                });

        String msg = "NAME :" + "" + strName1 + "\n";
        msg += "GENDER :" + "" + strGender1 + "\n";
        msg += "HEIGHT :" + "" + strHeight1 + "\n";
        msg += "AGE :" + "" + strAge1 + "\n";
        msg += "HAIR :" + "" + strHair1 + "\n";
        msg += "SKIN :" + "" + strSkin1 + "\n";
        msg += "-----------------------------\n";
        msg += "Some Comments :\n";
        msg += strComment1 + "\n";
        msg += "-----------------------------";
        builder.setMessage(msg);
        builder.create().show();

这是我的结果: 当对话框显示时。屏幕上的名称为:andoid.widget.EditText {40f8cd c0VFF ...#7f090002 app:id / nameperson}

2 个答案:

答案 0 :(得分:3)

您应该从EditText获取文字如下:

String strName1 = nameEdit.getText().toString();

答案 1 :(得分:0)

 String strName1 = nameEdit.toString();
String strName1 = nameEdit.getText().toString();