Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 17.04.2011
Сообщений: 37

Изменить текст TextView другого Фрагмента, не открывая его

02.06.2016, 17:28. Показов 2398. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Могу передать данные из 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 другого Фрагмента не открывая его?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.06.2016, 17:28
Ответы с готовыми решениями:

Считать в текст из документа Word, не открывая его
Как считать в VB.net текст из документа Word (*.doc, *.docx), не открывая это документ? То есть мне нужно скопировать в переменную всё...

Как записать весь текст из Word -а , не открывая его, в переменную?
Здравстуйте,уважаемые! Прошу помочь... Мне необходимо из Word документа (когда он закрыт) считывать содержимое - текст, и записывать...

Как программно изменить текст в TextView
Как из MainNavigationActivity изменить текст в шапке меню? Там где текст @Android Studio@

5
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
03.06.2016, 09:22
Цитата Сообщение от Drago56 Посмотреть сообщение
TextView другого Фрагмента не открывая его
Насколько я понимаю, это может привести к падению программы, поскольку фрагмент может быть не создан или удалён из памяти.
0
0 / 0 / 0
Регистрация: 17.04.2011
Сообщений: 37
03.06.2016, 10:24  [ТС]
так и есть.
Есть поток получения и отправления данных при работе с блютус которая запускается в ActivityMain.
Java
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
53
54
55
56
57
   public static class ConnectedThred extends Thread{
        private final BluetoothSocket copyBtSocket;
        private final OutputStream OutStrem;
        private final InputStream InStrem;
 
        public ConnectedThred(BluetoothSocket socket){
            copyBtSocket = socket;
            OutputStream tmpOut = null;
            InputStream tmpIn = null;
            try{
                tmpOut = socket.getOutputStream();
                tmpIn = socket.getInputStream();
            } catch (IOException e){}
 
            OutStrem = tmpOut;
            InStrem = tmpIn;
        }
 
        public void run()
        {
            byte[] buffer = new byte[1024];
            int bytes;
 
            while(true){
                try{
                    bytes = InStrem.read(buffer);
                    h.obtainMessage(RECIEVE_MESSAGE, bytes, -1, buffer).sendToTarget();
                }catch(IOException e){break;}
 
            }
 
        }
 
        public void sendData(String message) {
            byte[] msgBuffer = message.getBytes();
            // Log.d(TAG, "***Отправляем данные: " + message + "***"  );
 
            try {
                OutStrem.write(msgBuffer);
            } catch (IOException e) {}
        }
 
        public void cancel(){
            try {
                copyBtSocket.close();
               // redButton1.setImageResource(R.drawable.otkl);
               // redButton2.setImageResource(R.drawable.otkl);
               // redButton3.setImageResource(R.drawable.otkl);
               // redButton4.setImageResource(R.drawable.otkl);
            }catch(IOException e){}
        }
 
        public Object status_OutStrem(){
            if (OutStrem == null){return null;
            }else{return OutStrem;}
        }
    }
Есть handl которая обрабатывает полученные данные тоже в ActivityMain
Java
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
53
54
55
56
57
58
59
60
61
62
63
64
65
 h = new Handler() {
            public void handleMessage(Message msg) {
                // sbprint="";
                switch (msg.what) {
                    case RECIEVE_MESSAGE:
                        byte[] readBuf = (byte[]) msg.obj;
                        String strIncom = new String(readBuf, 0, msg.arg1);
                        sb.append(strIncom);                                                // формируем строку
                        int endOfLineIndex = sb.indexOf("\r\n");                            // определяем символы конца строки
                        if (endOfLineIndex > 0) {                                            // если встречаем конец строки,
                            sbprint = sb.substring(0, endOfLineIndex);               // то извлекаем строку
                            sb.delete(0, sb.length());// и очищаем sb
                            split_buff = sbprint.split("\\|");
                            size_buff = split_buff.length;
                            if (size_buff >= 6) {
                                //  tt.setText(sbprint);
                                // Log.d(TAG,split_buff[0]+" "+split_buff[1]+" "+split_buff[2]+" "+split_buff[3]+" "+split_buff[4]+" "+split_buff[5]+" "+split_buff[6]+" "+split_buff[7]);
                               
                                //  Log.d(TAG,split_buff2[0]+" "+split_buff2[1]);
                                // tt.setText("Соединение установлено");
                              /*  if (split_buff[0].equals("5")) {
                                    redButton1.setImageResource(R.drawable.otkl);
                                    k = 0;
                                }
                                if (split_buff[0].equals("1")) {
                                    redButton1.setImageResource(R.drawable.vkl);
                                    k = 1;
                                }
                                //зал
                                if (split_buff[1].equals("6")) {
                                    redButton2.setImageResource(R.drawable.otkl);
                                    k2 = 0;
                                }
                                if (split_buff[1].equals("2")) {
                                    redButton2.setImageResource(R.drawable.vkl);
                                    k2 = 1;
                                }
                                //коридор
                                if (split_buff[2].equals("7")) {
                                    redButton3.setImageResource(R.drawable.otkl);
                                    k3 = 0;
                                }
                                if (split_buff[2].equals("3")) {
                                    redButton3.setImageResource(R.drawable.vkl);
                                    k3 = 1;
                                }
                                //спальная
                                if (split_buff[3].equals("8")) {
                                    redButton4.setImageResource(R.drawable.otkl);
                                    k4 = 0;
                                }
                                if (split_buff[3].equals("4")) {
                                    redButton4.setImageResource(R.drawable.vkl);
                                    k4 = 1;
                                }
*/
                               
                            }
                        }
                        break;
                }
            }
 
            ;
        };
Подскажите как сделать так, чтобы можно было в других Фрагментах считывать данные их потока запущенного в ActivityMain?
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
03.06.2016, 14:22
Сами-то видите, что выделили код не для Явы? И как его читать?
Цитата Сообщение от Drago56 Посмотреть сообщение
Подскажите как сделать так, чтобы можно было в других Фрагментах считывать данные их потока запущенного в ActivityMain?
Из одной крайности в другую. Зачем?
Если так уж надо, то можно через обратные вызовы, а можно прямо через getActivity().геттер_поля().
1
0 / 0 / 0
Регистрация: 17.04.2011
Сообщений: 37
03.06.2016, 15:39  [ТС]
getActivity().геттер_поля(). приведите пример передачи обычной строковой переменной
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
03.06.2016, 16:48
Цитата Сообщение от Drago56 Посмотреть сообщение
приведите пример передачи обычной строковой переменной
Обычный публичный метод Activity.

Поскольку у вас используется Handler, я бы подумал над передачей сообщения во фрагмент с помощью него.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2016, 16:48
Помогаю со студенческими работами здесь

Как изменить Textview из другого класса (класса адаптера RecyclerView)
У меня есть список RecyclerView тоесть этот файл Basket и файл что реализует cardwiew BasketAdapter. как мне изменить TextView allPrice из...

Текст из TextView перенести в другой TextView по нажатию Button
Люди, помогите плиз. Недавно начал ковырять программирование под Android. Хотел сделать банальную вещь - текст из TextView перенести в...

Вызов фрагмента с RecycleView из другого фрагмента
Добрый день! Написал код, который из одного фрагмента (А) через кнопку вызывает другой фрагмент (Б). Все работало хорошо, пока не...

Дан текстовый файл. Напечатать все его строки, содержащие в качестве фрагмента заданный текст
Дан текстовый файл. Напечатать все его строки, содержащие в качестве фрагмента заданный текст

Как изменить текст в textbox из другого потока
Есть форма на которой textbox 1 и button По нажатию кнопки вызывается метод в другом потоке , внутри которого меняется текст в textbox ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru