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

Если LISTView Пуст - Android

Восстановить пароль Регистрация
 
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
02.04.2016, 22:15     Если LISTView Пуст #1
Добрый вечер ребята, как сделать к примеру если я получил в json error = 1

Раскрыть TextView

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="@color/list_divider"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_row_selector" />
 
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/onblock"
        android:text="Привет"
        android:visibility="gone"/>
И получить сообщение



Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            String json = jsonParser.makeHttpRequest(url, "GET", params);
 
      try 
      {
          JSONObject jObj = new JSONObject(json);
 
          //Если он равен 1 то включить TextVIEW
          int error = jObj.getInt(TAG_ERROR);
 
          if(error == 0) {
              /** Информация о Json */
          }else 
          {
              /** Просто тут когда пытаешься включить TextView выпадают ошибки.*/
           }
 
 
      }catch (JSONException e)
      {
           e.printStackTrace();
       }

Как этот вопрос решить помогите.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OlegJV
 Аватар для OlegJV
99 / 99 / 29
Регистрация: 13.03.2016
Сообщений: 452
03.04.2016, 05:00     Если LISTView Пуст #2
Где ж вы такие обороты речи находите. Хоть убей не пойму - что значит "включить TextView". Ну неужели нельзя нормальным языком?

Добавлено через 2 минуты
Этот кусок кода видимо из Asynctask? Не из doInBackground случаем?
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
03.04.2016, 11:03  [ТС]     Если LISTView Пуст #3
Вот перечитываю и сам не понимаю уже

Так надо вот что

если из JSON я получу вот такое значение

error:0

чтобы выводился список каталогов

а если же я получу error:1 - это значение что в JSON ничего нет,

чтобы я как та мог в центре выводить текст о том что нету данных в каталоге.


Исходники на первом посте прикреплены.
OlegJV
 Аватар для OlegJV
99 / 99 / 29
Регистрация: 13.03.2016
Сообщений: 452
03.04.2016, 13:42     Если LISTView Пуст #4
Цитата Сообщение от OlegJV Посмотреть сообщение
Этот кусок кода видимо из Asynctask? Не из doInBackground случаем?
Вторая попытка...
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
03.04.2016, 13:46  [ТС]     Если LISTView Пуст #5
Да да из doInBackground -> Тут меня происходит работа с JSON и заполняется ListView
OlegJV
 Аватар для OlegJV
99 / 99 / 29
Регистрация: 13.03.2016
Сообщений: 452
03.04.2016, 13:48     Если LISTView Пуст #6
Из doInBackground нельзя обращаться к элементам интерфейса. Это знают даже ежики. Перенеси код в onPostExecute.
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
03.04.2016, 13:54  [ТС]     Если LISTView Пуст #7
Я это тоже знаю.
Java
1
2
3
4
5
6
7
8
 
class LoadItemView extends AsyncTask<String, String, String>
{
    protected String doInBackground(String... params) { /** Обработка */}
 
    protected void onPostExecute(String file_url){ /** Вывод */}
 
}
OlegJV
 Аватар для OlegJV
99 / 99 / 29
Регистрация: 13.03.2016
Сообщений: 452
03.04.2016, 14:04     Если LISTView Пуст #8
Тогда третья попытка - из какого метода происходит обращение к TextView?

Добавлено через 34 секунды
Код настолько секретен, что нельзя выложить его полностью?
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
03.04.2016, 15:16  [ТС]     Если LISTView Пуст #9
Нет я его тысячу раз выкладывал )) сейчас еще сделаю секунду.

Добавлено через 1 минуту
Кликните здесь для просмотра всего текста

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
public class ItemCategoryID extends AppCompatActivity
{
 
    ListView lv;
 
    // Прогресс диалог
    private ProgressDialog pDialog;
 
    // Создаем объект JSON Parser
    JSONParser jsonParser = new JSONParser();
 
    ArrayList<HashMap<String, String>> CatsList;
 
    // JSONArray
    JSONArray catslist = null;
 
    // Идентификатор каталога
    String cat_id, cat_name;
 
    String error;
 
 
    // Все необходимые параметры
    private static final String TAG_ID = "id";
    private static final String TAG_TITLE = "title";
 
 
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_subcat);
 
        // Получение ID_CAT
        Intent i = getIntent();
        cat_id = i.getStringExtra("id_cat");
 
        // Hashmap для ListView
        CatsList = new ArrayList<HashMap<String, String>>();
 
        // Загружаем все необходимые подкатегории
        new LoadTracks().execute();
 
        // Получение listview
        lv = (ListView) findViewById(R.id.listView);
 
 
        /**
         * ListView по пункту клик слушателя
         * ItemCategoryJurnal активность будет запущен с помощью проходящего калога
         * */
        lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener()
        {
            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int arg2,
                                    long arg3)
            {
                String cat_id = ((TextView) view.findViewById(R.id.cat_id)).getText().toString();
            }
        });
 
    }
 
 
    class LoadTracks extends AsyncTask<String, String, String>
    {
 
        protected String doInBackground(String... args)
        {
 
            List<NameValuePair> params = new ArrayList<NameValuePair>();
 
 
            params.add(new BasicNameValuePair(TAG_ID, cat_id));
 
 
            String json = jsonParser.makeHttpRequest(URL_ITEM_CATEGORYID, "GET",
                    params);
 
            // Проверьте LogCat для ответа JSON
            Log.d("Subcategory JSON: ", json);
 
            try
            {
                JSONObject jObj = new JSONObject(json);
 
                if (jObj != null)
                {
                    //Информация о категории
                    String catalog_id = jObj.getString(TAG_ID);
 
                        catslist = jObj.getJSONArray(TAG_SUBCAT);
 
                        if (catslist != null) 
                        {
                            for (int i = 0; i < catslist.length(); i++)
                            {
                                JSONObject c = catslist.getJSONObject(i);
                                
                                // Сохранение каждого элемента JSon в переменной
                                String song_id = c.getString(TAG_ID);
 
                                // создаем новый HashMap
                                HashMap<String, String> map = new HashMap<String, String>();
 
                                // Записываем в новый HashMap ключ и значение
                                map.put("catalog_id", catalog_id);
 
                                // добавление списка Hash к ArrayList
                                CatsList.add(map);
                            }
                        } else
                        {
                            Log.d("Subcat: ", "null");
                        }
 
                }
 
            } catch (JSONException e)
            {
                e.printStackTrace();
            }
 
            return null;
        }
 
        protected void onPostExecute(String file_url)
        {
 
            pDialog.dismiss();
 
            runOnUiThread(new Runnable()
            {
                public void run()
                {
                    ListAdapter adapter = new SimpleAdapter
                            (
                                    ItemCategoryID.this, CatsList,
                                    R.layout.list_item_subcat, new String[]{"catalog_id"}, new int[]
                                    {
                                            R.id.cat_id
                                    }
                            );
 
 
                    lv.setAdapter(adapter);
                }
            });
 
        }
 
    }
OlegJV
 Аватар для OlegJV
99 / 99 / 29
Регистрация: 13.03.2016
Сообщений: 452
03.04.2016, 16:24     Если LISTView Пуст #10
Ну что, четвертая попытка. Где, я стесняюсь спросить, в выложенном коде попытка "включить textView", с чего собственно и начался топик. Или я что-то пропустил?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2016, 16:36     Если LISTView Пуст
Еще ссылки по теме:

Копирование данных из 1 listView во 2 listView Android
Android ListView
Android Listview в listview
Android Как вывести в ListView, только если тело SMS содержит определенный текст?
Данные из SQlite в ListView, обработка события ListView Android

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

Или воспользуйтесь поиском по форуму:
Shamsik
 Аватар для Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
03.04.2016, 16:36  [ТС]     Если LISTView Пуст #11
Мне нужно, чтобы когда заходил на эту страницу, если тут ListView пуст чтобы выводился текст о том что тут нет информации.


XML
1
2
3
4
5
6
7
8
9
10
   <ListView
            android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
 
 <TextView
                android:id="@+id/subcat_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Название"/>
Yandex
Объявления
03.04.2016, 16:36     Если LISTView Пуст
Ответ Создать тему
Опции темы

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