Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Изменить текст TextView другого Фрагмента, не открывая его

Могу передать данные из Activiry во фрагмента когда он открыт.
Java
1
2
3
4
5
6
7
8
    blank1 = new BlankFragment();
                if (blank1 != null) {
 
                    FragmentManager fragmentManager = getSupportFragmentManager();
                    fragmentManager.beginTransaction()
                            .replace(R.id.conteiner, blank1).commit();
                }
((TextView) blank1.getView().findViewById(R.id.textView)).setText("Текст");
А как передать данные,т.е изменить текст TextView другого Фрагмента не открывая его?
Ответ:
Сообщение от Drago56
приведите пример передачи обычной строковой переменной
Обычный публичный метод Activity.

Поскольку у вас используется Handler, я бы подумал над передачей сообщения во фрагмент с помощью него.
Вопрос: Как отформатировать текст в TextView

Как добавить в один textview текст, по-разному его отформатировав? Например,часть текста жирная, а часть курсивом. Спасибо.
Ответ: Спасибо вам за ответы, поставили на нужны путь)
Вопрос: Программа падает при попытке задать текст TextView в диалоговом окне

Лог:
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:4020)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at android.view.View$1.onClick(View.java:4015)
************at android.view.View.performClick(View.java:4780)
************at android.view.View$PerformClick.run(View.java:19866)
************at android.os.Handler.handleCallback(Handler.java:739)
************at android.os.Handler.dispatchMessage(Handler.java:95)
************at android.os.Looper.loop(Looper.java:135)
************at android.app.ActivityThread.main(ActivityThread.java:5254)
************at java.lang.reflect.Method.invoke(Native Method)
************at java.lang.reflect.Method.invoke(Method.java:372)
************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at com.skraim.geography.vop2.clkPause(vop2.java:1200)
************at java.lang.reflect.Method.invoke(Native Method)
************at java.lang.reflect.Method.invoke(Method.java:372)
************at android.view.View$1.onClick(View.java:4015)
************at android.view.View.performClick(View.java:4780)
************at android.view.View$PerformClick.run(View.java:19866)
************at android.os.Handler.handleCallback(Handler.java:739)
************at android.os.Handler.dispatchMessage(Handler.java:95)
************at android.os.Looper.loop(Looper.java:135)
************at android.app.ActivityThread.main(ActivityThread.java:5254)
************at java.lang.reflect.Method.invoke(Native Method)
************at java.lang.reflect.Method.invoke(Method.java:372)
************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
 
 
public class vop2 extends Activity {
    float rez;
    int pr = 0;
    int kol = 0;
    public CharSequence[] otv = new CharSequence[135];
    public CharSequence[] vart = new CharSequence[4];
    int z;
    String diff;
    List<Integer> numbers = new ArrayList<Integer>();
    private TextView mKol;
    private TextView mPr;
    private TextView mRez;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vop);
        mKol=(TextView)findViewById(R.id.textView2);
        mPr=(TextView)findViewById(R.id.textView3);
        mRez=(TextView)findViewById(R.id.textView4);
        /*
        ненужный код
        */
        }
public void clkPause(View view) {
        Dialog paus=new Dialog(vop2.this);
        paus.setContentView(R.layout.pause);
        mKol=(TextView)findViewById(R.id.textView2);
        mPr=(TextView)findViewById(R.id.textView3);
        mRez=(TextView)findViewById(R.id.textView4);
        mKol.setText("123");
        mPr.setText("213");
        mRez.setText("322");
        paus.setTitle("Пауза");
        paus.show();
    }
}
Вылетает в момент нажатия на кнопку паузы. Заранее спасибо.
Ответ: vindigo, как все просто оказалось. Спасибо большое!
Вопрос: Добавить скрол в сам элемент TextView

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">
 
    <LinearLayout
        android:id="@+id/inear"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
 
        <EditText
            android:id="@+id/cityname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10" />
 
        <Button
            android:id="@+id/bycityname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/find"></Button>
 
        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:gravity="center"
            android:textColor="#000"
            android:textSize="25sp"></TextView>
    </LinearLayout>
 
</ScrollView>
Есть такая разметка. Но в ней весь LinearLayout находится в скроле. А я хочу чтобы у меня скрол был также и в самом элементе TextView. Просто туда загружается боьшой текст. И мне больше подходит вариант когда и в LinearLayout и в самом элементе TextView есть скрол. Возможно ли такое сделать если да то как?
Я уже в TextView добавлял разные параметры в XML для скрола не помогает. И так пробовал txtView.setMovementMethod(new ScrollingMovementMethod()); здесь тоже это не помагает. Так как все же добавить скрол в TextView в этом случае??
Ответ:
в textview горизонтальный скролл или вертикальный?
вертикальный

Добавлено через 4 минуты
задай android:maxLines и android:scrollbars = "vertical"
не помогает

Добавлено через 8 минут
Просто у меня ситуация в чем в фон фрагмента у меня устанавливается картинка. И если в TextView добавить много текста то размер TextView увеличивается(по содержимому текста) и соответсвенно увеличивается размер лайаута где в фоне картинка. Так вот поэтому я и задал для TextView android:layout_height="250dp", чтобы был размер фиксированный, тогда картинка не растягивается, но до конца не влезает текст. Как учесть эти 2 фактора, чтобы и текст можно было скролить и картинка выглядела норм(сильно не растягивалась)?

Добавлено через 19 минут
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="utf-8"?>
<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="wrap_content"
    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="com.activityexample.user.androidtextview.MainActivity">
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Hello World!hgjgjhfkjkf kjhfkjfkjkfkfnjfnjkhfgjhjhgjghkjkflkfllklkfrtaryyru
        zzzzdhzhgfhgffjghj
        jdjgjLGDLJFGDHGFLlgdfldgflGFLDGFLG
        KVHS;VHJJFHVJASHVJKAHS;VAU;HV;UIUAVH;A
        AVS;;JKV;AKSVHASJVHJSHV;SAH;VH;A
        VKASVBKJSBVSJKBVJKBVAKBVAKJBVKAB
        bbvakjvbjkabjkavkjbvakjbavkbkbva
        jdhfjHFJDhfjDFHJhdfjdHFJDHFJSHFJD
        DHFLDHLFHDLSHFDLSHFLSDHFLSDHLDLDHS
        VHKLSHVLHLKSHVLKHSLKVHLSHVLHLSHVLS
        "
        android:maxLines="5"
        android:scrollbars = "vertical"/>
</RelativeLayout>
такая разметка показывает только 5 первых строчек текста в TextView а дальше не скролит. Как сделать чтобы скролилось дальше?

Добавлено через 39 минут
решил таким образом
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">
 
    <LinearLayout
        android:id="@+id/inear"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
 
        <EditText
            android:id="@+id/cityname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10" />
 
        <Button
            android:id="@+id/bycityname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/find"></Button>
 
        <ScrollView
            android:id="@+id/scrollView1"
            android:layout_width="fill_parent"
            android:layout_height="150dip" >
        <TextView
            android:id="@+id/textView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical"
            android:gravity="center"
            android:textColor="#000"
            android:textSize="25sp"></TextView>
        </ScrollView>
 
    </LinearLayout>
 
</ScrollView>
добавил в скрол с нужными параметрами
Вопрос: Ограниченная вместимость TextView

Доброго дня. Я вообще-то не специализируюсь на Android, а занимаюсь кросс платформенной разработкой - C#/Xamarin, но столкнулся с проблемой, которая имеет непосредственное отношение к Android, поэтому попрошу модераторов не переносить тему в другой раздел.
Суть проблемы: Xamarin'овский элемент вывода текста - тэг XML разметки Label, соответствует TextView. При компиляции один элемент преобразовывается в другой(для каждой платформы нативный). Но Label в своей основе имеет тип string C# и может хранить, если верить MCDN, до 2 ГБ текста, т.е около миллиона символов. И загнал я в этот самый Label 2 листа текста - около 5000 букв без пробелов. При отладке на Win8 проблем никаких, текст загружен весь. А вот на устройстве Android (2 смартафона проверял) выводиться только половина текста. Вот соответственно и хотелось бы узнать, какие ограничения есть на вывод текста в элементе TextView. Пробовал поискать в сети (правда не очень долго), но внятной информации не нашел. Есть ли лимит по количеству символов, или по объему памяти, или еще по каким параметрам?
Ответ: tezaurismosis, ха! Эту документацию я читал.
Или откуда по вашему я взял информацию о 2 ГБ или 1 млн символов? База Label это тип snring. А вот что является базой для TextView? Так как с Java я не очень знаком, вот и решил спросить у тех, кто с ней работает. Ну и у тех, кто работает непосредственно с Android. И выяснил, что сие тайна великая есть)

А над WebView надо подумать, хотя для моей цели не самый удобный инструмент.
Вопрос: Создание нового TextView

1. Программа получает текст с сервера
2. Она должна сама создать нужный(определённого цвета) TextView и вывести туда информацию (текст)
При условии что получается код СТРАНИЦЫ получается так:
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public void onClick(View p1) 
            {
                RequestTask htm;
                htm = new RequestTask();
                htm.execute("http://www.cyberforum.ru/android-dev/");
                try
                {
                    ddTitle.setText(htm.get());
                }
                catch (ExecutionException e)
                {}
                catch (InterruptedException e)
                {}
            }
 
            class RequestTask extends AsyncTask<String, String, String>{    
                @Override
                protected String doInBackground(String... url) {
                    StringBuilder sb = new StringBuilder();
                    try {
                        URL pageURL = new URL(url[0]);
                        String inputLine;
                        URLConnection uc = pageURL.openConnection();
                        BufferedReader buff = new BufferedReader(new InputStreamReader(uc.getInputStream()));
                        while ((inputLine = buff.readLine()) != null) {
                            sb.append(inputLine);
                        } 
                    }
                    catch (Exception e) {
                    }
                    return sb.toString();
                }
            }
        };
Текст в том файле - в таком формате:
ДАТА
ТЕКСТ
_______
ДАТА
ТЕКСТ
Каждый Дата Текст - в отдельный TextView.
P.S. хочу что-то наподобие чата сделать...
Или можно реализовать как-то попроще?
Простите, если мой вопрос возможно тупой...
Ответ: гляньте в сторону WebView.
может и делать ничего не надо будет.
...во времена царствования JSON - передавать текстом?!. далана! :-)
Вопрос: Не получается вставить текст в TextView

Создаю список из БД, при этом пытаюсь найти TextView в другом Layout (item.xml), чтобы вставить в него текст.
Почему при запуске TextView пустое?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
protected void insertElementOfListFromBase(){
          
          View itemLayout = View.inflate(this, R.layout.item, null); // 
          TextView money_unit = (TextView) itemLayout.findViewById(R.id.money_unit); 
  
          money_unit.setText("usd");
          
          String[] from = new String[] { SCHETCHIK, STIOMOST };
        int[] to = new int[] { R.id.number, R.id.printStoimost };
        // создаем адаптер и настраиваем список
        scAdapter = new SimpleCursorAdapter(this, R.layout.item, cursor, from, to);
        Spisok = (ListView) findViewById(R.id.spisok);
        Spisok.setAdapter(scAdapter);
 
      }
Ответ:
Сообщение от aleksbim
Почему при запуске TextView пустое?
Потому что вы неправильно делаете.
Читайте:
- На буржуйском:
- На русском:
Вопрос: TextView

как у TextView задать текст? я так понимаю методом setText? (кстати а что в java нет свойств?) я попробовал просто через setText, но почему то не задается текст
Ответ:
Сообщение от Bend3r
А вы уверены что объект textView соединен именно с тем компонентом UI с каким вы думаете?)
абсолютно, я вижу в отладчике что текст с него получается и задается, проблема только в том что он не отображается на устройстве

Добавлено через 7 минут
я понял! я там честно говоря еще заюзал setTextColor, и кажется текст просто было не видно из за этого, видимо не правильно как то его задавал, щас закомментил это, стало видно
Вопрос: Вылетает TextView

Вылетает приложение при переходе на Activity с текстом, превышающим размер экрана в стандартном масштабе. Текст храню в string.xml, вызываю через @string/ в TextView.
И подскажите, пожалуйста, как сделать прокрутку текста с картинками? Может, есть где-то руководство, как вставлять текст с картинками и с возможностью прокрутки? (Как в справочниках со схемами, формулами)
Заранее спасибо!!!
Ответ: Всё, сделала прокрутку с помощью ScrollView-а ))
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
 <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/scroll">
        // здесь TextView, Button и тд. и всё это в одном LinearLayout
         </ScrollView>
Вопрос: TextView авторазмер текста

android studio

Textview имеет размеры 100% на 50%, заполняя половину экрана. В нем написано число, которое изменяется по нажатию на кнопку (рандом от 0 до 1000). Нужно, чтобы текст становился максимально большим (занимал либо 100% ширины, либо 100% высоты), но не выступал за края textview.

Подскажите, пожалуйста, как это сделать.
Ответ: на гитхабе ищи по словам autosize textview