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

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

Войти
Регистрация
Восстановить пароль
 
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
#1

Если LISTView Пуст - Программирование Android

02.04.2016, 22:15. Просмотров 184. Ответов 10
Метки нет (Все метки)

Добрый вечер ребята, как сделать к примеру если я получил в 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();
       }

Как этот вопрос решить помогите.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2016, 22:15     Если LISTView Пуст
Посмотрите здесь:

Как вывести в ListView, только если тело SMS содержит определенный текст? - Программирование Android
нужно чтобы в ListView выводились только тела тех сообщений в которых есть определенный текст. сейчас есть вот такой рабочий код: ...

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

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

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

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

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

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

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

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

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

error:0

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

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

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


Исходники на первом посте прикреплены.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
03.04.2016, 13:42     Если LISTView Пуст #4
Цитата Сообщение от OlegJV Посмотреть сообщение
Этот кусок кода видимо из Asynctask? Не из doInBackground случаем?
Вторая попытка...
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
03.04.2016, 13:46  [ТС]     Если LISTView Пуст #5
Да да из doInBackground -> Тут меня происходит работа с JSON и заполняется ListView
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
03.04.2016, 13:48     Если LISTView Пуст #6
Из doInBackground нельзя обращаться к элементам интерфейса. Это знают даже ежики. Перенеси код в onPostExecute.
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
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
03.04.2016, 14:04     Если LISTView Пуст #8
Тогда третья попытка - из какого метода происходит обращение к TextView?

Добавлено через 34 секунды
Код настолько секретен, что нельзя выложить его полностью?
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
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
03.04.2016, 16:24     Если LISTView Пуст #10
Ну что, четвертая попытка. Где, я стесняюсь спросить, в выложенном коде попытка "включить textView", с чего собственно и начался топик. Или я что-то пропустил?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2016, 16:36     Если LISTView Пуст
Еще ссылки по теме:

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

ListView - Программирование Android
Пытаюсь сделать по аналогии с уроком MySql + Android. Он есть проблема: ListView lv = getListView(); getListView подсвечивается...

Listview в listview - Программирование Android
Добрый.. вечер. Вопрос такого плана - есть listview созданный через кастомный адаптер, в элементах этого listview есть еще один listview,...

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


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

Или воспользуйтесь поиском по форуму:
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 Пуст
Ответ Создать тему
Опции темы

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