Хотите изменить текст TextView из другой деятельности? - PullRequest
3 голосов
/ 09 февраля 2012

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

Содержание моего проекта,

Задание 1 содержит две кнопки, и при нажатии button1 должен появиться «Некоторый текст», а при нажатии button2 должен появиться «Некоторый другой текст» TextView1 , который находится в Activity2 .

Я имею в виду, что текст должен появляться только в TextView1. другого текстового представления нет. хорошо.

Пожалуйста, решите мою проблему с помощью простого примера кода.

Извините за любые ошибки в этом вопросе, так как это моя первая попытка действительно задать вопрос в Интернете.

Спасибо

Ответы [ 5 ]

0 голосов
/ 09 февраля 2012

вы, вероятно, можете использовать класс say MyText(), в котором вы можете установить и сбросить текст или любое другое свойство текстового представления.

скажем, если у вас есть метод setTextView(String text) и другой метод say getText() и глобальной переменной textVal первый метод установит textVal = text, то есть значение, которое отправляется в качестве параметра, а второе возвращает textVal.Теперь вы можете установить текст из любого места и получить значение из любого места, просто пользователь setText(MyText.getText)

Надеюсь, это решит вашу проблему, пожалуйста, оставьте комментарий, если я ошибаюсь.

0 голосов
/ 09 февраля 2012

Эй, это довольно просто, если вы хотите показать текст на textview, который находится на другом activity, затем передать значения с помощью PutExtras и получить эти значения с помощью getExtras, использовать IntentВызов другого действия

См. пример кода для передачи значений из одного действия в другое

    Intent i = new Intent(Insert.this,Select_msg.class);
    i.putExtra("name", name.getText().toString());
        i.putExtra("emailid", emailid.getText().toString());
            i.putExtra("contact", contactno.getText().toString());
            startActivity(i);

Select_msg.class

 Intent i = getIntent();
    name=i.getStringExtra("name");
    email = i.getStringExtra("emailid");
    cntct = i.getStringExtra("contact");

Надеюсь, это будет работать для васпросто установите значения в textview.

0 голосов
/ 09 февраля 2012

Вы не можете установить текст на другой деятельности. Передайте значение следующему действию, используя намерение, а затем установите текст после извлечения из намерения в методе onCreate () в действии 2.

0 голосов
/ 09 февраля 2012

Надеюсь, вы знаете о концепции SharedPreferences в Android.Используя это, вы можете выполнить это требование. Это глобальное место, где вы можете установить его значение из любого места в вашем приложении и использовать в любом месте того же приложения, где это необходимо!

В Activity1,

SharedPreference s_pref=PreferenceManager.getDefaultSharedPreferences(context);
Editor edit=s_pref.edit();

button1.setOnClick....()
{
     ... onClick()
     {
         edit.putString("textview_text","some text");
         edit.commit();
         /* you can start activity from here

         Intent intent = new Intent(Activity1.this, Activity2.class); 
         startActivity(intent);

         */
         //even if you don't start activity from here,text changed would be reflected in textView1 when activity2 is loded
     }
}

button2.setOnClick....()
{
     ... onClick()
     {
         edit.putString("textview_text","some other text");
         edit.commit();
         /* you can start activity from here

         Intent intent = new Intent(Activity1.this, Activity2.class); 
         startActivity(intent);

         */
         //even if you don't start activity from here,text changed would be reflected in textView1 when activity2 is loded
     }
}

в Activity2,

...
SharedPreference s_pref=PreferenceManager.getDefaultSharedPreferences(context);
Editor edit=s_pref.edit();

String text=s_pref.getString("textview_text", "default text");
textView1.setText(text);
...
0 голосов
/ 09 февраля 2012

Насколько я знаю, вы не можете получить доступ к компоненту пользовательского интерфейса 2-го действия, находясь в первом действии. так что лучший способ - передать значение через метод намерений putExtra, а затем получить его в textview в действии 2-го действия, получив его. здесь ниже ссылка, которая показывает этот метод

http://mobileorchard.com/android-app-development-using-intents-to-pass-data-and-return-results-between-activities/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...