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

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

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

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

02.04.2016, 22:15. Просмотров 191. Ответов 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 Пуст (Программирование Android):

Как вывести в ListView, только если тело SMS содержит определенный текст? - Программирование Android
нужно чтобы в 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 причём многократно.Но я использую...

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

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

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

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

error:0

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

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

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


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

Добавлено через 34 секунды
Код настолько секретен, что нельзя выложить его полностью?
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
03.04.2016, 15:16  [ТС] #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
Сообщений: 472
03.04.2016, 16:24 #10
Ну что, четвертая попытка. Где, я стесняюсь спросить, в выложенном коде попытка "включить textView", с чего собственно и начался топик. Или я что-то пропустил?
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
03.04.2016, 16:36  [ТС] #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="Название"/>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2016, 16:36
Привет! Вот еще темы с ответами:

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

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

Удалять тег если он пуст - jQuery
Как удалить тег если он пуст или содержит пробел? &lt;div class=&quot;main-item&quot;&gt; &lt;/div&gt; - такого вида?

Если TMemo не пуст, то выполнить действие - Delphi
как сделать если текст в мемо 1, то выполнять действие? procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String); ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.04.2016, 16:36
Ответ Создать тему
Опции темы

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