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

Не удаляется строка списка во ViewPager? - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android отправить сообщение в скайп одному из контактов приложения через интент http://www.cyberforum.ru/android-dev/thread1489154.html
additionalInfo = "Hello"; String mySkypeUri = "skype:" + additionalInfo + "?chat"; Uri skypeUri = Uri.parse(mySkypeUri); Intent intent = new Intent(Intent.ACTION_VIEW, skypeUri); intent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main")); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); этот...
Android Продолжительность сигнала AlarmService Здравствуйте. Мне необходимо сделать чтобы сигнализация проигрывалась в течение 10 секунд в заданное время. Но в методе setRepeating задается только время и период повтора. Подскажите, пожалуйста, как можно установить продолжительность сигнала. Спасибо. Добавлено через 10 минут UPD думаю что через broadcast receiver можно выставить, например, вибрацию в течение 10 секунд. http://www.cyberforum.ru/android-dev/thread1489151.html
Android Обновление данных один раз в сутки
Здравствуйте, участники форума. Чувствую что объяснить будет не просто, но я буду стараться. Суть - конвертер валют, загружает курсы с сайта ЦБ РФ. Курсы обновляться в 11-30 - 12-00, каждый день. Требуется - загружать оные только один раз, в сутки. Т.е. запускаем приложение, первым делом пробуем загрузить курсы с сайта. Тут все просто грузим, сохраняем в SharedPreferences. И при последующих...
View Pager + ListView не обновляются данные? Android
в списке несколько записей, удаляю с помощью контекстного меню, лог пишет удалено, а отображается то же количество строк, если перезапустить приложение тогда отображается правильно что может быть не так подскажите пожалуйста? public boolean onContextItemSelected(MenuItem item) { if (item.getItemId() == CM_DELETE_ID) { // получаем из пункта контекстного меню данные по пункту списка...
Android Preferences Framework: ActionBar http://www.cyberforum.ru/android-dev/thread1489118.html
Всем привет! Недавно начал изучать Android. При написании программы я пользовался Preferences Framework. Но Preferences Framework не наследуется от ActionBar, поэтому при работе с Preferences Framework я не могу добавить в активность ActionBar. Как можно добавить ActionBar в активность, созданную при помощи Preferences Framework? Заранее спасибо.
Android Запись строки в res/raw/file.txt Здравствуйте. Подскажите пожалуйста как можно записать строку (или переменную типа String), в raw ресурс - file.txt На одном из форумов, вычитал что файлы в raw доступны только для чтения. Но в этой теме http://www.cyberforum.ru/android-dev/thread409051.html , пишут что производят запись в res/raw/file.txt Пишу метод для записи: private void SetDefault() throws IOException { подробнее

Показать сообщение отдельно
disx
19 / 19 / 0
Регистрация: 26.02.2014
Сообщений: 502
Записей в блоге: 1

Не удаляется строка списка во ViewPager? - Android

28.06.2015, 15:33. Просмотров 291. Ответов 10
Метки (Все метки)

на страницах ViewPager есть 2 отдельных ListView (фрагменты), по коду почти одинаковые

FirstFragment.java
Кликните здесь для просмотра всего текста
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
123
124
125
126
127
128
129
130
131
132
133
134
135
public class FirstFragment extends Fragment implements LoaderCallbacks<Cursor> {
    
    private Context context;
    public DB db;
    public SimpleCursorAdapter scAdapter;
    private Cursor cursor;
    ListView lvData1;
    static String arg = "";
    private static final int CM_DELETE_ID = 1;
    DBHelper dbHelper;
    Button btn;
    TextView tv;
    final String TAG = "MyLog";
    /** Handle the results from the voice recognition activity. */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
 
        return inflater.inflate(R.layout.first, container, false);
                
    }
 
    @SuppressWarnings("deprecation")
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
 
        db = new DB(getActivity());
         db.open();     
 
        // получаем курсор
        cursor = db.getAllData(arg);
        MyCursorLoader cursorLoader = new MyCursorLoader(getActivity(), db);
        cursor = cursorLoader.loadInBackground();
    //  getActivity().startManagingCursor(cursor);
//      String count = String.valueOf(cursor.getCount());
//      Toast tost = Toast.makeText(getActivity(), count, Toast.LENGTH_SHORT);
//      tost.setGravity(50, 200, 30);
//      tost.show();
 
    
        // формируем столбцы сопоставления
        String[] from = new String[] { DB.COLUMN_IMG, DB.COLUMN_TXT };
        int[] to = new int[] { R.id.ivImg, R.id.tvText };
 
        // создааем адаптер и настраиваем список
 
        scAdapter = new SimpleCursorAdapter(getActivity(), R.layout.item,
                cursor, from, to, 0);
//       scAdapter = new SimpleCursorAdapter(getActivity(), R.layout.item,
//       cursor, from,
//       to);
        lvData1 = (ListView) getView().findViewById(R.id.listView1);
        lvData1.setBackgroundColor(Color.LTGRAY);
        lvData1.setAdapter(scAdapter);
        
    //  setListAdapter(scAdapter);
        
        
        // добавляем контекстное меню к списку
        registerForContextMenu(lvData1);
        // getLoaderManager().initLoader(0, null, this);
        //getActivity().getSupportLoaderManager().initLoader(0, null, this);
                
    }
 
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
    }
 
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == CM_DELETE_ID) {
            // получаем из пункта контекстного меню данные по пункту списка
            AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
                    .getMenuInfo();
            // извлекаем id записи и удаляем соответствующую запись в БД
            db.delRec(acmi.id);
            // получаем новый курсор с данными
            cursor.requery();
        //  getSupportLoaderManager().getLoader(0).forceLoad();
            scAdapter.notifyDataSetChanged();
            Log.d(TAG, "Удалено");
            return true;
        }
        return super.onContextItemSelected(item);
    }
 
    @Override
    public Loader<Cursor> onCreateLoader(int id, Bundle bndl) {
        
        return new MyCursorLoader(getActivity(), db);
         
    }
 
    @Override
    public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
        scAdapter.swapCursor(cursor);
    }
 
    @Override
    public void onLoaderReset(Loader<Cursor> loader) {
        // TODO Auto-generated method stub
 
    }
 
    static class MyCursorLoader extends CursorLoader {
 
        DB db;
 
        public MyCursorLoader(Context context, DB db) {
            super(context);
            this.db = db;
        }
 
        @Override
        public Cursor loadInBackground() {
            Cursor cursor = db.getAllData(arg);
            try {
                TimeUnit.SECONDS.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return cursor;
        }
 
    }
 
    public void onDestroy() {
        super.onDestroy();
        // закрываем подключение при выходе
        db.close();
    }
}


SecondFragment.java

Кликните здесь для просмотра всего текста
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
123
124
125
126
127
128
129
130
131
132
133
134
public class SecondFragment extends Fragment implements LoaderCallbacks<Cursor> {
 
    private Context context;
    public DB db;
    public SimpleCursorAdapter scAdapter2;
    private Cursor cursor;
    ListView lvData2;
    static String arg = null;
    private static final int CM_DELETE_ID = 1;
    DBHelper dbHelper;
    Button btn;
    TextView tv;
    int id_col;
    final String TAG = "MyLog";
    /** Handle the results from the voice recognition activity. */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
 
        return inflater.inflate(R.layout.second, container, false);
        
        
    }
 
    @SuppressWarnings("deprecation")
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
 
        db = new DB(getActivity());
         db.open();     
 
        // получаем курсор
        cursor = db.getAllData2(arg);
        MyCursorLoader cursorLoader = new MyCursorLoader(getActivity(), db);
        cursor = cursorLoader.loadInBackground();
    //  getActivity().startManagingCursor(cursor);
 
 
        // формируем столбцы сопоставления
        String[] from = new String[] { DB.COLUMN_IMG2, DB.COLUMN_TXT2 };
        int[] to = new int[] { R.id.ivImg, R.id.tvText };
 
        // создааем адаптер и настраиваем список
 
        scAdapter2 = new SimpleCursorAdapter(getActivity(), R.layout.item,
                cursor, from, to, 0);
//       scAdapter = new SimpleCursorAdapter(getActivity(), R.layout.item,
//       cursor, from,
//       to);
        lvData2 = (ListView) getView().findViewById(R.id.listView2);
        lvData2.setBackgroundColor(Color.LTGRAY);
        lvData2.setAdapter(scAdapter2);
        
    //  setListAdapter(scAdapter);
        
        
        // добавляем контекстное меню к списку
        registerForContextMenu(lvData2);
        // getLoaderManager().initLoader(0, null, this);
        //getActivity().getSupportLoaderManager().initLoader(0, null, this);
                
    }
 
 
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
    }
 
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == CM_DELETE_ID) {
            // получаем из пункта контекстного меню данные по пункту списка
            AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
                    .getMenuInfo();
            // извлекаем id записи и удаляем соответствующую запись в БД
            db.delRec(acmi.id);
            // получаем новый курсор с данными
            cursor.requery();
            //  getSupportLoaderManager().getLoader(0).forceLoad();
                scAdapter2.notifyDataSetChanged();
            Log.d(TAG, "Удалено");
            return true;
        }
        return super.onContextItemSelected(item);
    }
 
    @Override
    public Loader<Cursor> onCreateLoader(int id, Bundle bndl) {
        
        return new MyCursorLoader(getActivity(), db);
         
    }
 
    @Override
    public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
        scAdapter2.swapCursor(cursor);
    }
 
    @Override
    public void onLoaderReset(Loader<Cursor> loader) {
        // TODO Auto-generated method stub
 
    }
 
    static class MyCursorLoader extends CursorLoader {
 
        DB db;
 
        public MyCursorLoader(Context context, DB db) {
            super(context);
            this.db = db;
        }
 
        @Override
        public Cursor loadInBackground() {
            Cursor cursor = db.getAllData2(arg);
            try {
                TimeUnit.SECONDS.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return cursor;
        }
 
    }
 
    public void onDestroy() {
        super.onDestroy();
        // закрываем подключение при выходе
        db.close();
    }
}


но у первого строки удаляются а у второго нет, хотя лог пишет "Удалено", в чем может быть проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru