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

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

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

смена ресурсов - Android

26.09.2012, 15:08. Просмотров 749. Ответов 7
Метки нет (Все метки)

здравствуйте, есть код
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
 
 but.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                uiHandler.post(task);
            }});
       
    }
private class RefreshTextView implements Runnable{
        
        
 
        @Override
        public void run() {
                count++;
                uiHandler.postDelayed(this, 1000);
                result = rand.nextInt(51);
                
                tex.setText("dot.."+count);
                if(count==2){
                    uiHandler.removeCallbacks(task);
                oll();
                count=0;
                }
            }
        }
    public void oll(){
        if (result>25){
            but.setImageResource(R.drawable.lon); крешуется здесь если проходит 2 секунды
            tex.setText("lon");
        }
        else
        {
            but.setImageResource(R.drawable.kot); или здесь если проходит 2 секунды
            tex.setText("kot");
        }
    }
    }
если их закоментить все норм
что делать???
помогите пожалуйста)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
26.09.2012, 17:27     смена ресурсов #2
Непонятно откуда ты запускаешь объект класса RefreshTextView, может не из UIThread. Попробуй изменения в интерфейсе сделать в uiHandler.
А лучше код полностью покажи.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.09.2012, 20:18     смена ресурсов #3
а лучше смотри логи.

Добавлено через 1 минуту
Цитата Сообщение от kvaka Посмотреть сообщение
может не из UIThread
скорее всего.
Androot
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 27
27.09.2012, 06:53  [ТС]     смена ресурсов #4
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
package com.rub.monetka;
 
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import java.util.Random;
import android.widget.ImageButton;
import android.widget.TextView;
import java.lang.ref.WeakReference;
 
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.app.Activity;
 
public class MainActivity extends Activity {
     final Random rand = new Random();
     public static int result;
     private static final int MSG_REFRESH_UI = 100500;
        private TextView tex;
        private RefreshTextView task;
        private Handler uiHandler;
        private int count=0;
        private ImageButton but;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         ImageButton but = (ImageButton)findViewById(R.id.imageButton1);
        tex = (TextView)findViewById(R.id.textView2);
        but.setImageResource(R.drawable.fon);
        tex.setText("нажми на кнопку, сделай выбор");
        uiHandler = new Handler(getMainLooper());
        task = new RefreshTextView();
        
        but.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                uiHandler.post(task);
            }});
       
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    private class RefreshTextView implements Runnable{
        
        
 
        @Override
        public void run() {
                count++;
                uiHandler.postDelayed(this, 1000);
                result = rand.nextInt(51);
                
                tex.setText("dot.."+count);
                if(count==2){
                    uiHandler.removeCallbacks(task);
                oll();
                count=0;
                }
            }
        }
    public void oll(){
        if (result>25){
            but.setImageResource(R.drawable.lon);
            tex.setText("lon");
        }
        else
        {
            but.setImageResource(R.drawable.kot);
            tex.setText("kot");
        }
    }
    }
вот весь код
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.09.2012, 10:54     смена ресурсов #5
а логи где?
Androot
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 27
27.09.2012, 11:08  [ТС]     смена ресурсов #6
09-27 07:07:23.731: W/dalvikvm(568): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
09-27 07:07:23.751: E/AndroidRuntime(568): FATAL EXCEPTION: main
09-27 07:07:23.751: E/AndroidRuntime(568): java.lang.NullPointerException
09-27 07:07:23.751: E/AndroidRuntime(568): at com.rub.monetka.MainActivity.oll(MainActivity.java:75)
09-27 07:07:23.751: E/AndroidRuntime(568): at com.rub.monetka.MainActivity$RefreshTextView.run(MainActivity.java:68)
09-27 07:07:23.751: E/AndroidRuntime(568): at android.os.Handler.handleCallback(Handler.java:605)
09-27 07:07:23.751: E/AndroidRuntime(568): at android.os.Handler.dispatchMessage(Handler.java:92)
09-27 07:07:23.751: E/AndroidRuntime(568): at android.os.Looper.loop(Looper.java:137)
09-27 07:07:23.751: E/AndroidRuntime(568): at android.app.ActivityThread.main(ActivityThread.java:4424)
09-27 07:07:23.751: E/AndroidRuntime(568): at java.lang.reflect.Method.invokeNative(Native Method)
09-27 07:07:23.751: E/AndroidRuntime(568): at java.lang.reflect.Method.invoke(Method.java:511)
09-27 07:07:23.751: E/AndroidRuntime(568): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
09-27 07:07:23.751: E/AndroidRuntime(568): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
09-27 07:07:23.751: E/AndroidRuntime(568): at dalvik.system.NativeStart.main(Native Method)
а вот и логи
Androot
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 27
28.09.2012, 13:23  [ТС]     смена ресурсов #7
что нужно исправить в коде???!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2012, 14:13     смена ресурсов
Еще ссылки по теме:

Android Использование ресурсов в jar
Получить картинку из ресурсов Android
Android Использование ресурсов классами
Android Установка ресурсов от строки
Android Загрузка ресурсов из модуля

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

Или воспользуйтесь поиском по форуму:
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
28.09.2012, 14:13     смена ресурсов #8
а скинь проект. очень уже загадочная у тебя ситуация.
Yandex
Объявления
28.09.2012, 14:13     смена ресурсов
Ответ Создать тему
Опции темы

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