2013-03-06 2 views
0

У меня возникли проблемы с отображением текста в текстовом виде. Я хочу создать приложение для чата/текстового стиля. Кроме того, как бы у меня была граница вокруг поля текста, чтобы она выглядела хорошо. Спасибо! и я прошу прощения за мои проблемы.Как отобразить введенный текст в текстовом виде Android

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"> 
    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="400dp" 
     android:text="" /> 
    <EditText android:id="@+id/edit_message" 
     android:layout_weight="1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="@string/edit_message" 
     android:layout_gravity="bottom" /> 

    <Button 
     android:id="@+id/button_send" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:onClick="sendMessage" 
     android:text="@string/button_send" 
     android:layout_gravity="bottom"/> 

public class MainActivity extends Activity { 

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



    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    Button button = (Button)findViewById(R.id.button_send); 

    }; 
+0

Я хочу иметь то, что пользователь отображается после того, как он/она нажимает на кнопку Отправить. –

ответ

4

Это Виль работа наверняка

public class MainActivity extends Activity { 

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

public void sendMessage(View v){ 

    EditText editMessage=(EditText)findViewById(R.id.edit_message); 
    TextView textView = (TextView) findViewById(R.id.textView1); 

    //get text from edittext and convert it to string 
    String messageString=editMessage.getText().toString(); 

    //set string from edittext to textview 
    textView.setText(messageString); 

    //clear edittext after sending text to message 
    editMessage.setText(""); 


} 

} 
+0

Спасибо! он отлично работает, но как я могу удалить старые сообщения? –

+1

использовать 'textView.append (messageString + "\ n");' вместо этого, чтобы старые сообщения не удалялись. – captaindroid

+0

Большое спасибо! –

0

Если и хотите отобразить из строк, то используйте

android:text="@strings/text" 

если и хотят, чтобы получить текст из EditText и добавить к TextView затем

EditText edit = (EditText) findViewById(R.id.editText); 
    TextView text = (TextView) findViewById(R.id.Text); 
    String str=edit.getText().toString(); 
    text.setText(str); 
+0

Я бы включил это в mainActivity.java, и если да, то какой метод он будет использовать? –

+1

Да, укажите, где вы хотите, но убедитесь, в какой java вы собираетесь ввести и поместите правильные идентификаторы для них. @ ShirwaMohamed – Danny

1
<TextView android:text="" android:background="@drawable/border"/> 

включают вышеуказанную строку в XML и создать border.xml внутри res/drawable папки и написать следующий код внутри border.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
    <solid android:color="#dfdfdf" /> 
    <stroke android:width="1dip" android:color="#aa0000"/> 
</shape> 

это установит границы для textView

для использования позже часть этого в Java

button.setOnClickListener(new OnClickListener() { 
     void onClick() { 
     textView.setText(editText.getText()); 
     } 
    }); 

надеюсь, что было полезно для вас :) пусть знать, если какие-либо проблемы

+0

Извините, но я получаю несколько ошибок с помощью java-части. Не могли бы вы мне помочь? –

+0

опубликуйте отчет об ошибке, чтобы я мог проверить его – Syn3sthete

+0

Метод setOnClickListener (View.OnClickListener) в типе View не применим для аргументов (новый DialogInterface.OnClickListener() {}) –

1

Возможно, вам это нужно.

EditText edt = (EditText)findViewById(R.id.edit_message); 
TextView txt= (TextView)findViewById(R.id.textview1); 
String value = edt.getText().toString(); 

button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       txt.append(value+"\n"); 
         edt.setText(""); 
      } 
    }); 
+0

Поскольку вы создаете приложение для чата/сообщения. Вы должны добавить новый текст в textview и не перезаписывать то, что уже присутствует. И удалите точку с запятой от конца. Поместите кнопку Button = (Button) findViewById (R.id.button_send); и все остальные элементы управления в protected void onCreate (Bundle savedInstanceState) – GunJack

Смежные вопросы