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

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

Войти
Регистрация
Восстановить пароль
 
MrCoub
6 / 6 / 8
Регистрация: 27.10.2015
Сообщений: 42
#1

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

09.11.2015, 22:37. Просмотров 256. Ответов 5
Метки нет (Все метки)

Пытаюсь сделать по аналогии с уроком MySql + Android.
Он есть проблема:
Java
1
ListView lv = getListView();
getListView подсвечивается красным. А также setListAdapter.
Java
1
setListAdapter(adapter);
Подскажите что не так или подскажите другой урок связанный с получением данных с mysql.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2015, 22:37     ListView
Посмотрите здесь:

ListView. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Копирование данных из 1 listView во 2 listView - Программирование Android
Нужно что бы при нажатии на один элемент в первом ListView он копировался во второй ListView причём многократно.Но я использую...

Использование ListView в ListView - Программирование Android
Всем привет. Можете показать как использовать ListView в ListView, с заполнением как внешнего ListView, так и внутреннего причем с...

Переход из Listview в Listview - Программирование Android
Как сделать, что бы когда нажимаешь в главном листвью на кнопку, открывалось новое нужное(т.е. то по которому тапнули) активити с другим...

id ListView - Программирование Android
как дать каждому item уникальный id d listview и использовать его для проверки базы данных помогите заранее спасибо

из БД в ListView - Программирование Android
Пишу приложение афишы кинотеатра. В базе данных есть стобцы: название, жанр, страна, время показа. Вот эти данные думаю подгружать...

ListView - Программирование Android
Добрый день. У меня есть лист ListView. Данные для заполнения он берет из таблицы БД. Таблица имеет два поля (имя, статус выполнения)....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VladimirFA51
7 / 2 / 1
Регистрация: 07.11.2015
Сообщений: 17
09.11.2015, 22:59     ListView #2
MrCoub,к чему ты применяешь адаптер?
Ты должен указать листвью,к которому применяешь,то есть:
Java
1
lv.setListAdapter(adapter);
Насчёт поиска ListView,используй:
Java
1
ListView lv = (ListView)findViewById(R.id.listView);
Надеюсь,что помог.Попробуй..
MrCoub
6 / 6 / 8
Регистрация: 27.10.2015
Сообщений: 42
09.11.2015, 23:18  [ТС]     ListView #3
Цитата Сообщение от VladimirFA51 Посмотреть сообщение
MrCoub,к чему ты применяешь адаптер?
Ты должен указать листвью,к которому применяешь,то есть:
Java
1
lv.setListAdapter(adapter);
Насчёт поиска ListView,используй:
Java
1
ListView lv = (ListView)findViewById(R.id.listView);
Надеюсь,что помог.Попробуй..
С поиском ListView помогло, а с setListAdapter нет.
Вот весь код Activity(202 строка):
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
package tk.mrcoub.timetable;
 
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
 
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import tk.mrcoub.timetable.parser.JSONParser;
 
public class MondayActivity extends AppCompatActivity {
 
    private ProgressDialog pDialog;
 
    // Создаем JSON парсер
    JSONParser jParser = new JSONParser();
 
    ArrayList<HashMap<String, String>> sheduleList;
 
    // url получения списка всех продуктов
    private static String url_shedule = "http://scuengine.mrcoub.tk/engine/connect_android/sedule.php";
 
    // JSON Node names
    private static final String TAG_SUCCESS = "success";
    private static final String TAG_PRODUCTS = "products";
 
    private static final String TAG_ID = "id";
    private static final String TAG_COURSE = "course";
    private static final String TAG_GROUP = "group";
    private static final String TAG_WEEKDAY = "weekday";
    private static final String TAG_TIME = "time";
    private static final String TAG_SUBGROUP = "subgroup";
    private static final String TAG_ITEM_NAME = "item_name";
    private static final String TAG_TYPENAME = "type_item";
    private static final String TAG_NAME_LECTURER = "name_lecturer";
    private static final String TAG_AUDITORIUM = "auditorium";
 
 
    // тут будет хранится список продуктов
    JSONArray shedule = null;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_monday);
 
        // Hashmap for ListView
        sheduleList = new ArrayList<HashMap<String, String>>();
 
        // Загружаем продукты в фоновом потоке
        new LoadAllShedule().execute();
 
        // получаем ListView
        ListView lv = (ListView)findViewById(android.R.id.list);
        //ListView lv = getListView();
 
        // на выбор одного продукта
        // запускается Edit Product Screen
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
 
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                // getting values from selected ListItem
                String pid = ((TextView) view.findViewById(R.id.id)).getText()
                        .toString();
 
                // Запускаем новый intent который покажет нам Activity
                Intent in = new Intent(getApplicationContext(), ShowActivity.class);
                // отправляем pid в следующий activity
                in.putExtra(TAG_ID, pid);
 
                // запуская новый Activity ожидаем ответ обратно
                startActivityForResult(in, 100);
            }
        });
 
    }
 
    // Ответ из Edit Product Activity
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        // если результующий код равен 100
        if (resultCode == 100) {
            // если полученный код результата равен 100
            // значит пользователь редактирует или удалил продукт
            // тогда мы перезагружаем этот экран
            Intent intent = getIntent();
            finish();
            startActivity(intent);
        }
 
    }
 
    /**
     * Фоновый Async Task для загрузки всех продуктов по HTTP запросу
     * */
    class LoadAllShedule extends AsyncTask<String, String, String> {
 
        /**
         * Перед началом фонового потока Show Progress Dialog
         * */
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(MondayActivity.this);
            pDialog.setMessage("Загрузка продуктов. Подождите...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();
        }
 
        /**
         * Получаем все продукт из url
         * */
        protected String doInBackground(String... args) {
            // Будет хранить параметры
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            // получаем JSON строк с URL
            JSONObject json = jParser.makeHttpRequest(url_shedule, "GET", params);
 
            Log.d("All Products: ", json.toString());
 
            try {
                // Получаем SUCCESS тег для проверки статуса ответа сервера
                int success = json.getInt(TAG_SUCCESS);
 
                if (success == 1) {
                    // продукт найден
                    // Получаем масив из Продуктов
                    shedule = json.getJSONArray(TAG_PRODUCTS);
 
                    // перебор всех продуктов
                    for (int i = 0; i < shedule.length(); i++) {
                        JSONObject c = shedule.getJSONObject(i);
 
                        // Сохраняем каждый json елемент в переменную
                        String id = c.getString(TAG_ID);
                        String name = c.getString(TAG_ITEM_NAME);
 
                        // Создаем новый HashMap
                        HashMap<String, String> map = new HashMap<String, String>();
 
                        // добавляем каждый елемент в HashMap ключ => значение
                        map.put(TAG_ID, id);
                        map.put(TAG_ITEM_NAME, name);
 
                        // добавляем HashList в ArrayList
                        sheduleList.add(map);
                    }
                } else {
                    // продукт не найден
                    // Запускаем Add New Product Activity
                   /* Intent i = new Intent(getApplicationContext(),
                            NewProductActivity.class);
                    // Закрытие всех предыдущие activities
                    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(i);*/
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
 
            return null;
        }
 
        /**
         * После завершения фоновой задачи закрываем прогрес диалог
         * **/
        protected void onPostExecute(String file_url) {
            // закрываем прогресс диалог после получение все продуктов
            pDialog.dismiss();
            // обновляем UI форму в фоновом потоке
            runOnUiThread(new Runnable() {
                public void run() {
                    /**
                     * Обновляем распарсенные JSON данные в ListView
                     * */
                    ListAdapter adapter = new SimpleAdapter(
                            MondayActivity.this, sheduleList,
                            R.layout.list_item, new String[] { TAG_ID,
                            TAG_ITEM_NAME},
                            new int[] { R.id.id, R.id.item_name });
                    // обновляем listview
                    lv.setListAdapter(adapter);
 
                }
            });
 
        }
 
    }
    /*
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_monday);
 
        //Получаем текстовые данные с первого Activity:
        Intent intent = getIntent();
        String ClassInt = intent.getStringExtra("classIntent");
        String GroupInt = intent.getStringExtra("groupIntent");
 
 
 
    }*/
 
 
}
VladimirFA51
7 / 2 / 1
Регистрация: 07.11.2015
Сообщений: 17
09.11.2015, 23:20     ListView #4
Извиняюсь,вечером туплю.Поставь просто setAdapter!
MrCoub
6 / 6 / 8
Регистрация: 27.10.2015
Сообщений: 42
09.11.2015, 23:23  [ТС]     ListView #5
Цитата Сообщение от VladimirFA51 Посмотреть сообщение
Извиняюсь,вечером туплю.Поставь просто setAdapter!
Увы но нет.
AlanMelone
1 / 1 / 0
Регистрация: 10.09.2013
Сообщений: 12
11.11.2015, 05:08     ListView #6
Так у тебя ListView объявляется и инициализируется в onCreate там же и кончается его область видимости. Объявить ListView там же где и ArrayList, а инициализировать можешь и в onCreate
Yandex
Объявления
11.11.2015, 05:08     ListView
Ответ Создать тему
Опции темы

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