2014-01-22 3 views
1

Как получить значение моего EditText, которое пользователь ввел из функции, которая была вызвана при нажатии onClick. Я попробовал это ниже, но не работал. Спасибо за помощь.получить значение EditText из функции onclick

<EditText android:id="@+id/myEditT" /> 

<Button android:text="MY BUTTON" android:onClick="GetThis" /> 

public void GetThis(View view) { 


    EditText x = (EditText)parentView.findViewById(R.id.myEditT); 

    // alert the x variable 

} 

ответ

1
EditText x = (EditText) findViewById(R.id.myEditT); 
String your_text = x.getText().toString(); 
1

В XML

<EditText android:id="@+id/myEditT" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content"/> 
<Button android:id="@+id/myButton" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content"/> 

В Java

public void onCreate(Bundle saved){ 
    super.onCreate(saved); 
    setContentView(R.layout.your_xml); 
    Button btn = (Button) findViewById(R.id.myButton); 
    EditText edtText = (EditText) findViewById(R.id.myEdit); 
    btn.setOnClickListener(new onClickListener(
     public void onClick(View v){ 
      String value = edtText.getText().toString(); 
     } 
    )); 
} 
+0

спасибо, но его не работает - он не увидит «edtText» –

+1

@ Hello-World, для вас это x.getText(). ToString(); – Vigbyor

0
public void GetThis(View view) { 
    EditText x = (EditText)view.findViewById(R.id.myEditT); 
    String edittextvalue = x.getText().toString(); 
} 
+0

спасибо за ответ - но все еще есть проблема. X возвращается как null. Ты знаешь почему? –

0
EditText x; 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_xml); 
    x = (EditText)parentView.findViewById(R.id.myEditT); 
    public void GetThis(View view) { 
    String s=x.getText().toString(); 
} 
+0

обратитесь по этой ссылке http://stackoverflow.com/questions/18807186/null-pointer-exception-getting-edittext-value – Gayathiri

0
EditText x = (EditText)findViewById(R.id.myEditT); 

public void GetThis(View view) { 
    String getEditTextValue = x.getText().toString(); 
    Toast.makeText(getApplicationContext(), getEditTextValue, Toast.LENGTH_LONG).show(); 
} 
Смежные вопросы