Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
#1

Ошибка изменения TextView - Android

27.04.2015, 03:11. Просмотров 603. Ответов 26
Метки нет (Все метки)

Из первого активити мы передаем значение..
Java
1
2
3
intent = new Intent(MainActivity.this, Pinsk.class);
                                intent.putExtra("gorod",item.getTitle().toString());
                                startActivity(intent);
Во втором его принимаем и пытаемся поменять TextView на это значение..

Кликните здесь для просмотра всего текста
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
public class Pinsk extends Activity implements OnTouchListener{
 
 
    
    AdapterHelper ah;
    SimpleExpandableListAdapter adapter;
 
  
 
    //объявление для флиппера
    private ViewFlipper flipper = null;
    private float fromPosition;
 
    TextView gorodID;
 
 
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pinsk);
 
        gorodID = (TextView)findViewById(R.id.gorodID);
 
 
        String gorod = getIntent().getExtras().getString("gorod");
        Toast.makeText(getApplicationContext(),
                "К нам пришло " + gorod,
                Toast.LENGTH_SHORT).show();
 
 
 
        gorodID.setText("gorod"); // в этой строке ошибка
 
 
 
 
 
 
 
 
 
        LinearLayout mainLayout = (LinearLayout) findViewById(R.id.main_layout);
        mainLayout.setOnTouchListener(this);
 
 
        flipper = (ViewFlipper) findViewById(R.id.flipper);
 
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        int layouts[] = new int[]{R.layout.activity_pinsk1, R.layout.activity_pinsk_2, R.layout.activity_about_us};
        for (int layout : layouts){
            flipper.addView(inflater.inflate(layout, null));}
 
 
 
 
 
   
    public boolean onTouch(View view, MotionEvent event)
    {
        switch (event.getAction())
        {
            case MotionEvent.ACTION_DOWN:
                fromPosition = event.getX();
                break;
            case MotionEvent.ACTION_UP:
                float toPosition = event.getX();
                if (fromPosition > toPosition)
                {
                    fromPosition = toPosition;
                    flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.go_next_in));
                    flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.go_next_out));
                    flipper.showNext();
                }
                else if (fromPosition  < toPosition)
                {
                    fromPosition = toPosition;
                    flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.go_prev_in));
                    flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.go_prev_out));
                    flipper.showPrevious();
                }
            default:
                break;
        }
        return true;
    }
 
 
 
    public void prevP(View view) {
        flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.go_prev_in));
        flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.go_prev_out));
        flipper.showPrevious();
 
    }
 
 
 
 
    public void nextP(View view) {
        flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.go_next_in));
        flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.go_next_out));
        flipper.showNext();
    }
 
    public void homeP(View view) {
        finish();
    }
 
 
   
 
    public void zakaz (View view) {
        Intent zakaz = new Intent(this, zakaz.class);
        startActivity(zakaz);}
 
 
 
 
    }


но увы вылетает фаталом...

лэйаут (activity_pinsk1) с TextViev..
Кликните здесь для просмотра всего текста

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="by.dmitrysoprano.allbelarus.Pinsk"
android:orientation="vertical">
 
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/verh"
    android:background="@color/svetlee"
    android:layout_weight="5"
    >
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:layout_marginRight="2.5dp"
        android:layout_marginTop="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginBottom="5dp"
        android:orientation="vertical"
        android:background="@color/temnee">
 
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:id="@+id/gorodID"
        android:text="@string/gorod"
        android:textSize="15sp"
        android:textColor="@color/temnij"
        android:gravity="center"
        android:textStyle="bold"
       />
 
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
 
            android:text="каталог"
            android:textSize="12sp"
 
            android:textColor="@color/temnij"
            android:gravity="center"
            android:textStyle="bold"
            />
 
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="3"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginLeft="2.5dp"
        android:layout_marginBottom="5dp"
        android:background="@color/temnee">
 
 
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:drawableLeft="@drawable/weth"
            android:background="@color/temnee"/>
 
 
 
 
    </LinearLayout>
 
 
</LinearLayout>
 
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp"
    android:layout_weight="1"
    android:id="@+id/mid"
    android:orientation="horizontal"
    android:background="@color/svetlee"
    >
 
</LinearLayout>
 
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="5"
    android:id="@+id/niz"
    android:background="@color/svetlee"
    android:orientation="horizontal">
 
    <Button
        android:id="@+id/prevP"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="5dp"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginRight="2.5dp"
        android:background="@drawable/left"
        android:layout_weight="2"
        android:onClick="prevP"
 
        />
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="2.5dp"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginRight="2.5dp"
        android:background="@drawable/home"
        android:layout_weight="2"
        android:onClick="homeP"
 
        />
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="2.5dp"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp"
        android:background="@drawable/right"
        android:layout_weight="2"
        android:onClick="nextP"
 
        />
 
 
 
</LinearLayout>
 
 
</LinearLayout>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2015, 03:11     Ошибка изменения TextView
Посмотрите здесь:

TextView // крэш Android
Цвет TextView Android
Android TextView и картинкака
Android Вывод в TextView
Android Обратиться к TextView
Android TextView question
Изменение TextView Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
27.04.2015, 15:12  [ТС]     Ошибка изменения TextView #21
Java
1
2
3
4
String gorod = getIntent().getExtras().getString("gorod");
        Toast.makeText(getApplicationContext(),
                "К нам пришло " + gorod,
                Toast.LENGTH_SHORT).show();
вот этой функцией я уже все давно проверил
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hedd
13 / 13 / 2
Регистрация: 21.01.2015
Сообщений: 129
27.04.2015, 15:17     Ошибка изменения TextView #22
Никто никого не троллит Перепроверил код автора несколько раз, скопировал себе и запустилось.
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
28.04.2015, 14:21  [ТС]     Ошибка изменения TextView #23
Я так понял проблема с флиппером... без него все работает, прикручиваю его - все падает... то ли надо как-то настроить чтоб во флиппер передавалось, то ли я хз...

Добавлено через 16 минут
хотя попытавшись менять TextView из мэин активити - тоже выпадает фатал...

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
popupMenu
                .setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
 
                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        Intent intent;
 
                                Toast.makeText(getApplicationContext(),
                                        "Вы выбрали "+item.getTitle(),
                                        Toast.LENGTH_SHORT).show();
 
                                intent = new Intent(MainActivity.this, test.class);
                                intent.putExtra("gorod",item.getTitle().toString());
                                startActivity(intent);
                                gorodID.setText(item.getTitle());  <--- 
 
                                return true;
                        }
                });
androbro
318 / 278 / 54
Регистрация: 17.10.2014
Сообщений: 825
28.04.2015, 14:29     Ошибка изменения TextView #24
Цитата Сообщение от poy4eg Посмотреть сообщение
gorodID.setText(item.getTitle()); <---
toString() не забыли
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
28.04.2015, 15:59  [ТС]     Ошибка изменения TextView #25
я и простой текст засетить не могу, так что проблема точно не в этом

Добавлено через 1 час 23 минуты
текст сетится только если в setContentView() указан лэйаут в котором я собираюсь делать изменения... а мне по факту надо поменять в другом лэйауте из-за этого и заморочка, может кто что покажет, как это обойти?
androbro
318 / 278 / 54
Регистрация: 17.10.2014
Сообщений: 825
28.04.2015, 16:11     Ошибка изменения TextView #26
Цитата Сообщение от poy4eg Посмотреть сообщение
а мне по факту надо поменять в другом лэйауте из-за этого и заморочка, может кто что покажет, как это обойти?
что поменять? в коком лейауте??
неужели вам недостаточно putExtra, не могу понять в чем проблема
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2015, 16:23     Ошибка изменения TextView
Еще ссылки по теме:

Calendar textView Android
Android Ошибка навигации через TextView
Android Клик по textview
Android Событие после изменения текста в TextView
Анимация textview Android

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

Или воспользуйтесь поиском по форуму:
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
28.04.2015, 16:23  [ТС]     Ошибка изменения TextView #27
Цитата Сообщение от androbro Посмотреть сообщение
что поменять? в коком лейауте??
неужели вам недостаточно putExtra, не могу понять в чем проблема
эммммммммммммммммммм как так проще объяснить:
есть лэйаут1 и есть лэйаут2... в лэйаут1 лежит флиппер в лэйаут2 лежит мой текст вью, который мне надо поменять
при запуске активити в методе OnCreate стоит setContentView(лэйаут1), а сам лэйаут2 описан при создании флиппера

мне надо поменять текст в текст вью из лэйаут2, но он не меняется никоим образом никак и ни откуда даже простая команда текст_вью.setText("какой-то текст") бьет мне фатал... хотя если в setContentView() указать лэйаут2, то никаких проблем не возникает

код в первом посте лежит......
Yandex
Объявления
28.04.2015, 16:23     Ошибка изменения TextView
Ответ Создать тему
Опции темы

Текущее время: 03:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru