2013-11-22 5 views
-2

Я пытаюсь отображать информацию из текста редактирования, но она не работает. Я не знаю, почему имя редактора текстового имени не отображается. Вот мой экран `Ошибка при получении значения из EditText Android

<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" /> 

` Моя активность. Я получаю значение edit text 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(); 

и вот мой результат: Когда имя Dialog display.The на экране: andoid.widget.EditText {40f8cd c0VFF ... # 7f090002 приложение: ID/nameperson }

ответ

3

Вы должны получить текст из EditText следующим образом:

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

Я DIT его! Большое спасибо – user2891222

+0

@ user2891222 если это работает, отметьте его! –

0
String strName1 = nameEdit.toString(); 
String strName1 = nameEdit.getText().toString(); 
Смежные вопросы