2015-01-15 4 views
-1

Я совершенно новый программист для Android и столкнулся с необычной ошибкой на TextView. Я хочу написать текст в поле EditText и с помощью справки Button, хочу показать его на TextView. Но когда я запускаю его на свой телефон, я положил текст и нажмите Button он изменяет TextView в это:Android-A textView problem

«android.widget.EditT доб {4279e770 VFED..CL..F .... . .......... приложение: идентификатор/ EditText}»

package com.example.tolgaen.tutorial; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 


public class MainActivity extends Activity { 

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

    final EditText input=(EditText)findViewById(R.id.editText); 
    final TextView monitor=(TextView)findViewById(R.id.textView); 
    Button button=(Button)findViewById(R.id.myButton); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      monitor.setText(input.toString()); 
     } 
    }); 
    } 
} 

это не дает никаких сообщений об ошибках на LogCat и я не могу понять, где проблема?

ответ

1

вы должны использовать метод GetText(), чтобы получить редактируемый объект, который можно преобразовать строку с помощью ToString()

monitor.setText(input.getText()); 

Если вам нужен текст как строка должна быть

String str = input.getText().toString(); 
+0

toString не требуется, потому что метод setText() имеет CharSequence как параметр –

+0

, конечно, вам не нужно будет использовать toString(), если вам действительно не нужна строка –