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

Не работает notifyDataSetChanged() - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android как загрузить hex файл? http://www.cyberforum.ru/android-dev/thread1027759.html
Подскажите, пожалуйста, как в андроиде загрузить hex файл? Гуглил много примеров загрузки тхт файлов.
Программирование Android Выравнивание TextView Приветствую! Не могу разобраться, как правильно сделать выравнивание: xml вьюшки: <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ShowTable" android:layout_width="wrap_content" http://www.cyberforum.ru/android-dev/thread1027712.html
Какой программой пользоваться для записи Аудио речи Программирование Android
Всем привет начал писать маленкый англо-русский разговорник около 500 слов когда нажимаю на выбранное слово должно по английскому и русскому говорит какую аудио программу надо использовать чтобы мало места брала и качество звука хорошая была спасибо
Программирование Android Узнать существует ли суперкласс
Есть суперкласс который запускает поток (поток использует блютуз). В момент краха суперкласса, поток остается в памяти и продолжает использовать блютуз. Соответственно при перезапуске приложения блютуз уже занят. Подскажите, как можно узнать что суперкласс работает? Или как освободить занятый блютуз? Хочу реализовать на взаимодействии потока с суперклассом (опрос переменной метода класса...
Программирование Android Андроид с нуля http://www.cyberforum.ru/android-dev/thread1027341.html
Доброго времени суток! В общем мне задали писать курсовой на тему !Приложение : камера для Андроид!, то есть создать прогу которая будет открывать камеру, фотографировать и сохранять фото. Никогда под Андроид не программировала , с явой дел не имела. Подскажите с чего начать , может у кого-то есть исходники такой программы, задание вроде бы не сложное , но как к нему подступить правильно....
Программирование Android SQLite база данных с паролем Есть база данных защищенная ключом! Сама база данных хранится на устройстве. При подключении к базе надо как то передать пароль, но в интернете ничего не нашел на эту тему. Подключение осуществляется следующим образом: public MyDatabase(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); //super(new DatabaseContext(context), DATABASE_NAME, null,... подробнее

Показать сообщение отдельно
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
04.12.2013, 12:24  [ТС]     Не работает notifyDataSetChanged()
Цитата Сообщение от verylazy Посмотреть сообщение
Java
1
lvAdapter.notifyDataSetChanged();
что это за объект, как он может быть виден в MyTask ?
Через глобальную переменную:

Java
1
2
3
4
5
6
7
8
9
10
public class ThirdFragment extends Fragment {
public CustomAdapter lvAdapter;
@Override
    public void onCreate(Bundle savedInstanceState) {
...
}
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
}
а Вот сам Адаптер:

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
class CustomAdapterView extends LinearLayout {        
    public CustomAdapterView(Context context, Device device) 
    {
        super( context );
 
        setId(device.getDeviceID());        
        setOrientation(LinearLayout.HORIZONTAL);
        setPadding(0, 6, 0, 6); 
        LayoutParams Params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        Params.setMargins(6, 0, 6, 0);      
        ImageView ivLogo = new ImageView(context);      
        if (device.getDeviceType() == 0)
            ivLogo.setImageDrawable(context.getResources().getDrawable(R.drawable.off));
        else if (device.getDeviceType() == 1)
            ivLogo.setImageDrawable(context.getResources().getDrawable(R.drawable.on));     
        addView(ivLogo, Params);        
        Params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
        LinearLayout PanelV = new LinearLayout(context);
        PanelV.setOrientation(LinearLayout.VERTICAL);
        PanelV.setGravity(Gravity.BOTTOM);      
        TextView textName = new TextView( context );
        textName.setTextSize(16);
        textName.setTypeface(Typeface.DEFAULT, Typeface.BOLD);
        textName.setText( device.getDeviceName());
        PanelV.addView(textName);   
        TextView textAddress = new TextView( context );
        textAddress.setTextSize(13);
        textAddress.setText( device.getDeviceAddress());
        PanelV.addView(textAddress);        
        addView(PanelV, Params);
    }
}
 
 
public class CustomAdapter extends BaseAdapter  {
    public static final String LOG_TAG = "BI::CA";
    private Context context;
    private List<Device> deviceList;
 
    public CustomAdapter(Context context, List<Device> deviceList ) { 
        this.context = context;
        this.deviceList = deviceList;
    }
    public int getCount() {
        return deviceList.size();
    }
    public Object getItem(int position) {     
        return deviceList.get(position);
    }
    public long getItemId(int position) {  
        return position;
    }
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
        Device device = deviceList.get(position);
        View v = new CustomAdapterView(this.context, device );      
        return v;
    }  
 
}
Добавлено через 22 минуты
Цитата Сообщение от verylazy Посмотреть сообщение
...
Вот сам Device если он тут нужен:

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
public class Device {
           
        private String m_szDeviceName;
        private String m_szDeviceAddress;
        private int m_nDeviceType;
        private int m_nDeviceStatus;
        private int m_nDeviceID;
    private Object make;
 
    public Device( String deviceName, String deviceAddress, int deviceType, int deviceStatus, int deviceID ) {
            this.m_szDeviceName = deviceName;
            this.m_szDeviceAddress = deviceAddress;
            this.m_nDeviceType = deviceType;
            this.m_nDeviceStatus = deviceStatus;
            this.m_nDeviceID = deviceID;
          }
 
 
        public String getDeviceName() { return m_szDeviceName; }
        public void setDeviceName(String deviceName) { this.m_szDeviceName = deviceName;}
        
        public String getDeviceAddress() {return m_szDeviceAddress;}
        public void setDeviceAddress(String deviceAddress) {this.m_szDeviceAddress = deviceAddress;}
        
        public int getDeviceType() { return m_nDeviceType; }
        public void setDeviceType(int deviceType) { this.m_nDeviceType = deviceType;}
        
        public int getDeviceStatus() { return m_nDeviceStatus; }
        public void setDeviceStatus(int deviceStatus) { this.m_nDeviceStatus = deviceStatus;}
        
        public int getDeviceID() { return m_nDeviceID; }
        public void setDeviceID(int deviceID) { this.m_nDeviceID = deviceID;}
 
 
}
Вот что выдаёт EroorLog:

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


12-04 08:20:48.334 1730-1767/adr.app E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #4
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:4746)
at android.view.ViewRootImpl.focusableViewAvailable(ViewRootImpl.java:2588)
at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:608)
at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:608)
at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:608)
at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:608)
at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:608)
at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:608)
at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:608)
at android.view.View.setFlags(View.java:8412)
at android.view.View.setFocusableInTouchMode(View.java:5790)
at android.widget.AdapterView.checkFocus(AdapterView.java:717)
at android.widget.AdapterView$AdapterDataSetObserver.onChanged(AdapterView.java:812)
at android.widget.AbsListView$AdapterDataSetObserver.onChanged(AbsListView.java:5958)
at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)
at android.widget.BaseAdapter.notifyDataSetChanged(BaseAdapter.java:50)
at adr.app.ThirdFragment$MyTask.doInBackground(ThirdFragment.java:259)
at adr.app.ThirdFragment$MyTask.doInBackground(ThirdFragment.java:219)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
************at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
************at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
************at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
************at java.lang.Thread.run(Thread.java:856)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru