Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Ошибка изменения TextView - Программирование Android

27.04.2015, 03:11. Просмотров 737. Ответов 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>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2015, 03:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка изменения TextView (Программирование Android):

TextView txt = new TextView(this); - ошибка - Программирование Android
Возникла проблема с динамическим создание TextView в цыкле, хотя в другом месте создается таким же образом все нормально TextView txt =...

Событие после изменения текста в TextView - Программирование Android
Подскажите пожалуйста, какое событие срабатывает после того как изменился текст в TextView, чтобы туда повесить действие. Цель такая, текст...

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

Ошибка навигации через TextView - Программирование Android
Доброго времени суток. Суть проблемы такова: - У меня есть листвью с загруженными новостями; - Кастомный адаптер; - Кастомный...

TextView бд - Программирование Android
Подскажите можно ли на прямую вызвать из бд в TextView текст?

Изменение TextView - Программирование Android
Доброго времени суток ! Подскажите, как можно выводить список слов в textview, и по 2 button эти слова как бы листались выводя одно...

26
Pablito
2547 / 2029 / 632
Регистрация: 12.05.2014
Сообщений: 7,148
Завершенные тесты: 1
27.04.2015, 08:36 #2
много написал, а текста ошибки и нету
0
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
27.04.2015, 11:39  [ТС] #3
Error
Кликните здесь для просмотра всего текста

04-27 04:33:16.458 1360-1360/by.dmitrysoprano.allbelarus W/EGL_emulation﹕ eglSurfaceAttrib not implemented
04-27 04:33:16.498 1360-1360/by.dmitrysoprano.allbelarus D/OpenGLRenderer﹕ Enabling debug mode 0
04-27 04:35:10.288 1360-1360/by.dmitrysoprano.allbelarus D/dalvikvm﹕ GC_FOR_ALLOC freed 19K, 2% free 7788K/7888K, paused 34ms, total 35ms
04-27 04:35:10.558 1360-1360/by.dmitrysoprano.allbelarus W/EGL_emulation﹕ eglSurfaceAttrib not implemented
04-27 04:35:12.538 1360-1360/by.dmitrysoprano.allbelarus D/AndroidRuntime﹕ Shutting down VM
04-27 04:35:12.538 1360-1360/by.dmitrysoprano.allbelarus W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb3a1dba8)
04-27 04:35:12.608 1360-1360/by.dmitrysoprano.allbelarus E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: by.dmitrysoprano.allbelarus, PID: 1360
java.lang.RuntimeException: Unable to start activity ComponentInfo{by.dmitrysoprano.allbelarus/by.dmitrysoprano.allbelarus.Pinsk}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at by.dmitrysoprano.allbelarus.Pinsk.onCreate(Pinsk.java:55)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
************at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
************at android.app.ActivityThread.access$800(ActivityThread.java:135)
************at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
************at android.os.Handler.dispatchMessage(Handler.java:102)
************at android.os.Looper.loop(Looper.java:136)
************at android.app.ActivityThread.main(ActivityThread.java:5017)
************at java.lang.reflect.Method.invokeNative(Native Method)
************at java.lang.reflect.Method.invoke(Method.java:515)
************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
************at dalvik.system.NativeStart.main(Native Method)
0
Mikalai
261 / 237 / 95
Регистрация: 11.01.2015
Сообщений: 663
27.04.2015, 11:50 #4
Кавычки убери для начала, а то ты не переменную из интента вставляешь, а строку "gorod".
0
Hedd
13 / 13 / 2
Регистрация: 21.01.2015
Сообщений: 131
27.04.2015, 11:50 #5
poy4eg, У вас приложение падает еще на этапе запуска второй активити.. Дайте полный код MainActivity
0
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
27.04.2015, 11:56  [ТС] #6
Цитата Сообщение от Mikalai Посмотреть сообщение
Кавычки убери для начала, а то ты не переменную из интента вставляешь, а строку "gorod".
я знаю это, просто попробовал текст засетить, и даже он не идет


полный код MainActivity
Кликните здесь для просмотра всего текста

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
package by.dmitrysoprano.allbelarus;
 
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
 
import org.w3c.dom.Text;
 
 
 
 
public class MainActivity extends Activity {
 
 
    //TextView GOROD= (TextView)findViewById(R.id.GOROD); //объявили переменную с названием города
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(viewClickListener);
 
 
    }
 
    View.OnClickListener viewClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showPopupMenu(v);
        }
    };
 
    public void showPopupMenu(View v) {
        PopupMenu popupMenu = new PopupMenu(this, v);
         popupMenu.getMenuInflater().inflate(R.menu.goroda,
         popupMenu.getMenu());
 
        popupMenu
                .setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
 
                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        Intent intent;
 
                        switch (item.getItemId()) {
 
 
                            case R.id.Pinsk:
                                Toast.makeText(getApplicationContext(),
                                        "Вы выбрали "+item.getTitle(),
                                        Toast.LENGTH_SHORT).show();
 
                                intent = new Intent(MainActivity.this, Pinsk.class);
                                intent.putExtra("gorod",item.getTitle().toString());
                                startActivity(intent);
 
                                return true;
 
                            case R.id.Minsk:
                                Toast.makeText(getApplicationContext(),
                                        "Вы выбрали "+item.getTitle(),
                                        Toast.LENGTH_SHORT).show();
 
                                intent = new Intent(MainActivity.this, IdevOwnSqliteDbActivity.class);
                                intent.putExtra("gorod",item.getTitle().toString());
                                startActivity(intent);
                                return true;
 
                          
 
                            default:
                                return false;
                        }
                    }
                });
 
        popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {
 
            @Override
            public void onDismiss(PopupMenu menu) {
               
            }
        });
        popupMenu.show();
 
 
    }
 
 
 
 
}


мне кажется это из-за флиппера, но честно сам я уже голову сломал
0
Mikalai
261 / 237 / 95
Регистрация: 11.01.2015
Сообщений: 663
27.04.2015, 12:36 #7
poy4eg, class Pinsk не закрывается метод onCreate, IDE не подсвечивает?
0
Pablito
2547 / 2029 / 632
Регистрация: 12.05.2014
Сообщений: 7,148
Завершенные тесты: 1
27.04.2015, 12:45 #8
вторая активити прописана в манифесте?
0
Hedd
13 / 13 / 2
Регистрация: 21.01.2015
Сообщений: 131
27.04.2015, 13:00 #9
Mikalai, Ерунду не говорите. Я думаю он вполне внимателен, чтобы такие глупости не замечать. Сюда просто не скопировал до конца код. Приложение запускается у автора. Вы этого не заметили?

Добавлено через 14 минут
poy4eg,

Проверь все еще раз:
В первой активити ты должен передавать так:
Java
1
2
3
4
Intent intent;
intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("city", item.getTitle().toString());
startActivity(intent);
Во второй получать так:
Java
1
2
3
4
String tvget = getIntent().getExtras().getString("city");
/* выводим полученную инфу  
TextView tv2 = (TextView) findViewById(R.id.textView2);
tv2.setText(tvget); */
В манифесте не забыть прописать вторую активити примерно так:
Java
1
2
3
4
5
6
7
8
9
<activity
            android:name=".SecondActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
0
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
27.04.2015, 13:04  [ТС] #10
у меня все отлично работает без этой злосчастной строчки с изменением текста..
все в манифесте прописано, интент нормально передается. ошибка лишь в этой строке gorodID.setText("gorod");

Добавлено через 19 секунд
у меня все отлично работает без этой злосчастной строчки с изменением текста..
все в манифесте прописано, интент нормально передается. ошибка лишь в этой строке gorodID.setText("gorod");
0
Hedd
13 / 13 / 2
Регистрация: 21.01.2015
Сообщений: 131
27.04.2015, 13:08 #11
poy4eg, poy4eg, По какйо причине ты думаешь, что ошибка в setText? В твоих логах на это нет ни одного намека.
0
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
27.04.2015, 13:13  [ТС] #12
Цитата Сообщение от Hedd Посмотреть сообщение
poy4eg, По какйо причине ты думаешь, что ошибка в setText? В твоих логах на это нет ни одного намека.
потому что если я коменчу эту строку, то все работает. запускаю в работу - падает при переходе во второй активити, где идет прием экстры... экстра принимается отлично с верным значением
0
Pablito
2547 / 2029 / 632
Регистрация: 12.05.2014
Сообщений: 7,148
Завершенные тесты: 1
27.04.2015, 13:14 #13
по логам у него ругается примерно на этот участок кода
Java
1
2
3
4
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));}
просто форматировать код автору лень, строки видимо экономит )
0
poy4eg
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
27.04.2015, 13:18  [ТС] #14
Паблито, эммм я просто быдлокодер, помогите решить проблему )
0
Pablito
2547 / 2029 / 632
Регистрация: 12.05.2014
Сообщений: 7,148
Завершенные тесты: 1
27.04.2015, 13:28 #15
я предположил что ругаается на этот участок кода
просто честно говоря я не верю что ругается именно на строку где setText
0
27.04.2015, 13:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2015, 13:28
Привет! Вот еще темы с ответами:

Вывод в textView из БД - Программирование Android
У меня есть БД public void onCreate(SQLiteDatabase db) { // создаем таблицу с полями db.execSQL(&quot;create table mystudent (&quot;...

Вылетает TextView - Программирование Android
Вылетает приложение при переходе на Activity с текстом, превышающим размер экрана в стандартном масштабе. Текст храню в string.xml,...

TextView // крэш - Программирование Android
Здравствуйте! С Новым Годом! И вопрос: почему он крашится? Если удалить/закомментировать строку TextView txt =...

Прыжок к TextView - Программирование Android
На лаяуте имеется множество textView. интересует прыжок к выбранному textView через актионбар (три точки в верхнем правом углу). ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.