Страница 1 из 1

Как передать текст с EditText в TextView ?

Добавлено: 31 мар 2014, 16:59
Chvalov
Здравствуйте, вот мой активити:

Код: Выделить всё

package ru.chvalov.ovisapp;

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

public class MainActivity extends Activity {

	EditText EdtMyName;
	EditText EdtMyLastName;
	EditText EdtMyEmail;
	EditText EdtMyPhoneNumber;
	Button BtnAddText;
	Button BtnClsText;
	Button BtnSendText;
	TextView OutText;
	private OnClickListener oclBtn;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        EdtMyName = (EditText) findViewById(R.id.EdtMyName);
        EdtMyLastName = (EditText) findViewById(R.id.EdtMyLastName);
        EdtMyEmail = (EditText) findViewById(R.id.EdtMyEmail);
        EdtMyPhoneNumber = (EditText) findViewById(R.id.EdtMyPhoneNumber);
        BtnAddText  = (Button) findViewById(R.id.BtnAddText);
        BtnClsText = (Button) findViewById(R.id.BtnClsText);
        BtnSendText = (Button) findViewById(R.id.BtnSendText);
        OutText = (TextView) findViewById(R.id.OutText);
        
        oclBtn = new OnClickListener() {
        	@Override
        	public void onClick(View v) {
        		switch (v.getId()) {
        		case R.id.BtnAddText:
        			EdtMyName.setText("Андрей");
        			EdtMyLastName.setText("Чвалов");
        			EdtMyEmail.setText("andrej.chvalov@gmail.com");
        			EdtMyPhoneNumber.setText("380636076329");
        		break;
        		
        		case R.id.BtnClsText:
        			EdtMyName.setText("");
        			EdtMyLastName.setText("");
        			EdtMyEmail.setText("");
        			EdtMyPhoneNumber.setText("");
        		break;
        		
        		case R.id.BtnSendText:
        			OutText.setText(EdtMyName + " " + EdtMyLastName + " " + EdtMyEmail + " " + EdtMyPhoneNumber);
        		break;
        		}
        	}
        	
        };
        
    
    
    BtnAddText.setOnClickListener(oclBtn);
    BtnClsText.setOnClickListener(oclBtn);
    BtnSendText.setOnClickListener(oclBtn);
    }
    
    @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;
    }
    
}
А вот мой майн.хмл

Код: Выделить всё

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="@string/InfoText"
        android:textSize="25sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/EdtMyName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:ems="10"
        android:hint="@string/MyName"
        android:inputType="textPersonName" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/EdtMyLastName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/EdtMyName"
        android:layout_below="@+id/EdtMyName"
        android:ems="10"
        android:hint="@string/MyLastName"
        android:inputType="textPersonName" />

    <EditText
        android:id="@+id/EdtMyEmail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/EdtMyLastName"
        android:layout_below="@+id/EdtMyLastName"
        android:ems="10"
        android:hint="@string/MyEmail"
        android:inputType="textEmailAddress" />

    <EditText
        android:id="@+id/EdtMyPhoneNumber"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/EdtMyEmail"
        android:layout_below="@+id/EdtMyEmail"
        android:ems="10"
        android:hint="@string/MyPhoneNumber"
        android:inputType="phone" />

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/EdtMyPhoneNumber"
        android:layout_below="@+id/EdtMyPhoneNumber" >

        <Button
            android:id="@+id/BtnAddText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/ButtonAddText" />

        <Button
            android:id="@+id/BtnClsText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/ButtonClsText" />

        <Button
            android:id="@+id/BtnSendText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="6"
            android:text="@string/ButtonSendText" />
    </LinearLayout>

    <TextView
        android:id="@+id/OutText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/linearLayout1"
        android:layout_centerVertical="true"
        android:lines="4" />

</RelativeLayout>
Вопрос как мне с EdtMyName, EdtMyLastName, EdtMyEmail, EdtMyPhoneNumber передать напечатанный текст в OutText ????
и еще как сделать так чтобы после каждой строки был перенос на следующую ??
в жабе так \n, а тут что то так не пашет (((

Re: Как передать текст с EditText в TextView ?

Добавлено: 31 мар 2014, 18:04
siberprogs
getText не работает? http://developer.android.com/intl/ru/re ... Text%28%29
"\n" - в кавычках как текст.

Re: Как передать текст с EditText в TextView ?

Добавлено: 31 мар 2014, 19:00
Chvalov
Да, но как бить в моем случаее с тем что getText(), который возвращает текст с полей ввода имеет специальный тип Editable, а не String.

Если можете напишите кусочек кода как в моем случае сменить тип и вивести с переносом на новою строчку, потому что в данный момент не на роботе, а на своем компе не то чтобы эмулятор запустился, здесь сам еклипс более 3 мин грузится, после чего гдето 3-5мин еще проекты подгружает (((

Re: Как передать текст с EditText в TextView ?

Добавлено: 31 мар 2014, 19:26
siberprogs
Типа того:
[syntax=java]
//получаем переменную String из EditText

String mytext1 = EdtMyName.getText().toString();
...
...


//выводим в TextView с переносами
OutText.setText(mytext1 + "\n" + mytext2 + "\n" + mytext3 + "\n" + mytext4);

[/syntax]

Re: Как передать текст с EditText в TextView ?

Добавлено: 31 мар 2014, 22:04
Chvalov
siberprogs писал(а):Типа того:
[syntax=java]
//получаем переменную String из EditText

String mytext1 = EdtMyName.getText().toString();
...
...


//выводим в TextView с переносами
OutText.setText(mytext1 + "\n" + mytext2 + "\n" + mytext3 + "\n" + mytext4);

[/syntax]
EdtMyName - это понятно
А mytext1 - это уже будкт именно эта строка в стринг ???

Или можно так: String EdtMyName = EdtMyName.getText().toString(); ???
И еще можно ли эти все EdtMyName, EdtMyLastName, EdtMyEmail, EdtMyPhoneNumber перечислить в одной строке но так чтобы потом можно было вивести текст с переносом строк ?

Или чтобы все данные с полей переобразовало в тип стринг ????
Или можго как то сразу в хмл указать полям (EditText) тип стринг

Re: Как передать текст с EditText в TextView ?

Добавлено: 31 мар 2014, 23:12
siberprogs
[syntax=java]
//получаем переменную String из EditText

String mytext1 = EdtMyName.getText().toString();
//Обьявляем переменную mytext1 типа String
//И передаем ей текст из EditText
//mytext1 - имя переменной может быть любое
//По такому же принципу из остальных текстовых полей
//передаем текст соответственно в mytext2, mytext3 и т.д.
...


//выводим в TextView с переносами ("\n" - перенос строки)
OutText.setText(mytext1 + "\n" + mytext2 + "\n" + mytext3 + "\n" + mytext4);


[/syntax]
Так понятнее?
Chvalov писал(а):Или можно так: String EdtMyName = EdtMyName.getText().toString(); ???
Ты хочешь напрямую из EditText в TextView? без переменной?

p.s.
BtnAddText.setOnClickListener(oclBtn);
BtnClsText.setOnClickListener(oclBtn);
BtnSendText.setOnClickListener(oclBtn);
Эти строчки должны быть перед методом OnClick

Re: Как передать текст с EditText в TextView ?

Добавлено: 01 апр 2014, 08:39
Chvalov
Эти я эти строчки поставлю перед методом OnClick кнопки не будут работать

BtnAddText.setOnClickListener(oclBtn);
BtnClsText.setOnClickListener(oclBtn);
BtnSendText.setOnClickListener(oclBtn);

Re: Как передать текст с EditText в TextView ?

Добавлено: 01 апр 2014, 09:42
siberprogs
Chvalov писал(а):Эти я эти строчки поставлю перед методом OnClick кнопки не будут работать
А сейчас работают?

Re: Как передать текст с EditText в TextView ?

Добавлено: 01 апр 2014, 23:07
Chvalov
Работают на ура, но если перенести так как вы говорили то при нажатии ничего не происходит

Между прочем в видео уроках также у него с низу эти обработчики, а уже в следующих уроках они там росположены где вы и говорили, но там какойто другой метод, если не подводит память что то там Активити

Re: Как передать текст с EditText в TextView ?

Добавлено: 02 апр 2014, 12:32
Foenix
жую попкорн уже несколько дней, все думаю - когда ж передадите уже?

Re: Как передать текст с EditText в TextView ?

Добавлено: 02 апр 2014, 13:56
siberprogs
Foenix писал(а):жую попкорн уже несколько дней, все думаю - когда ж передадите уже?
А обьяснить человеку, что не так, за несколько дней времени не нашлось?
А давайте форум переделаем так чтобы при заходе в любую ветку сразу выкидывало в гугл.
Тогда в форуме не будет ни глупых вопросов, ни глупых ответов.

Re: Как передать текст с EditText в TextView ?

Добавлено: 02 апр 2014, 14:16
AliMan
siberprogs писал(а): А объяснить человеку, что не так, за несколько дней времени не нашлось?
Зачем? ты и так все достаточно объяснил. А если человеку все "разжевать и в рот еще положить", то думать его это не научит. Потом, при возникновения еще какой-то ошибки, он вместо того, что бы самому в примитивных вещах разобраться опять полезет на форум задавать глупые вопросы. Автору топика совершенно нет дела до того как это все работает! ибо автор, видимо, считает что не зная основ Java лезть в android - это хорошая идея.

P.S. а get'теры и set'теры - это именно примитивные вещи.

Re: Как передать текст с EditText в TextView ?

Добавлено: 02 апр 2014, 14:20
Foenix
siberprogs писал(а):
Foenix писал(а):жую попкорн уже несколько дней, все думаю - когда ж передадите уже?
А обьяснить человеку, что не так, за несколько дней времени не нашлось?
А давайте форум переделаем так чтобы при заходе в любую ветку сразу выкидывало в гугл.
Тогда в форуме не будет ни глупых вопросов, ни глупых ответов.
да нечего на меня так нападать с требованием преодставить мое время
на меня это не действует

вы не поняли, уважаемый. Я бы помогла,только суть была не в том. Я все ждала, когда автор топика внятно объяснит чего хочет. Три раза перечитав первое сообщение поняла, что у меня так мозги не заворачиваются, чтоб понять - что это он хочет?