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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Xpert1993
0 / 0 / 1
Регистрация: 16.06.2012
Сообщений: 41
#1

Вывод данных в список Listview - Android

23.07.2013, 20:58. Просмотров 1859. Ответов 7
Метки нет (Все метки)

Код:
Кликните здесь для просмотра всего текста
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
package com.example.projecta;
 
import java.io.IOException;
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
 
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends Activity {
 
  MyTask mt;
  TextView tvInfo;
  ListView lv;
  final String TAG = "myLog";
 
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tvInfo = (TextView) findViewById(R.id.tvInfo);
    lv = (ListView) findViewById(R.id.lv);
 
  }
 
  public void onclick(View v) {
    mt = new MyTask();
    mt.execute();
 
  }
 
  class MyTask extends AsyncTask<String, Void, Elements> {
 
    @Override
    protected void onPreExecute() {
      super.onPreExecute();
      tvInfo.setText("Begin");
 
    }
 
    protected Elements doInBackground(String...links) {
    
        Document doc = null;
        try {
            Log.d(TAG, "3");
            doc = Jsoup.connect("http://4pda.ru/forum/index.php?showtopic=216032&view=findpost&p=6425520").get();
            Log.d(TAG, "4");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   
        Log.d(TAG, "5");
        Elements els = doc.select("div[class=hidemain]>ol>li>a[target]");
        return els;
    }
    @Override
    protected void onPostExecute(Elements result) {
      super.onPostExecute(result);
        Log.d(TAG, "6");
      String[] arrayStr = new String[result.size()];
        Log.d(TAG, "7");
      for (int i = 0; i < arrayStr.length; i++) {
          arrayStr[i] = (result).get(i).toString();
      }
      Log.d(TAG, "8");
      ArrayAdapter<String> aa = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1, arrayStr);
      Log.d(TAG, "9");
      lv.setAdapter(aa);
      Log.d(TAG, "10");
      Toast toast = Toast.makeText(getApplicationContext(), "Завершено", Toast.LENGTH_LONG);
      toast.show();
  }
  }
}

Ошибка:
Кликните здесь для просмотра всего текста
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
07-23 20:41:19.844: D/myLog(29979): 3
07-23 20:41:37.062: D/dalvikvm(29979): GC_FOR_ALLOC freed 2374K, 29% free 7887K/11044K, paused 14ms, total 14ms
07-23 20:41:37.102: D/dalvikvm(29979): GC_CONCURRENT freed 1873K, 28% free 7988K/11044K, paused 1ms+3ms, total 19ms
07-23 20:41:37.222: D/dalvikvm(29979): GC_FOR_ALLOC freed 353K, 26% free 8272K/11044K, paused 17ms, total 18ms
07-23 20:41:37.232: I/dalvikvm-heap(29979): Grow heap (frag case) to 12.408MB for 1825728-byte allocation
07-23 20:41:37.332: D/dalvikvm(29979): GC_CONCURRENT freed 228K, 21% free 10170K/12828K, paused 4ms+8ms, total 54ms
07-23 20:41:37.663: I/dalvikvm(29979): Total arena pages for JIT: 11
07-23 20:41:37.663: I/dalvikvm(29979): Total arena pages for JIT: 12
07-23 20:41:37.903: D/dalvikvm(29979): GC_CONCURRENT freed 1923K, 19% free 10889K/13416K, paused 4ms+2ms, total 46ms
07-23 20:41:37.903: D/dalvikvm(29979): WAIT_FOR_CONCURRENT_GC blocked 25ms
07-23 20:41:38.323: D/dalvikvm(29979): GC_CONCURRENT freed 1982K, 19% free 11721K/14316K, paused 3ms+3ms, total 42ms
07-23 20:41:39.004: D/dalvikvm(29979): GC_CONCURRENT freed 2234K, 19% free 12628K/15484K, paused 5ms+2ms, total 71ms
07-23 20:41:39.004: D/dalvikvm(29979): WAIT_FOR_CONCURRENT_GC blocked 32ms
07-23 20:41:39.445: D/dalvikvm(29979): GC_CONCURRENT freed 2442K, 19% free 13614K/16692K, paused 2ms+1ms, total 61ms
07-23 20:41:40.195: D/dalvikvm(29979): GC_CONCURRENT freed 2683K, 19% free 14682K/18008K, paused 3ms+1ms, total 83ms
07-23 20:41:40.195: D/dalvikvm(29979): WAIT_FOR_CONCURRENT_GC blocked 53ms
07-23 20:41:40.215: I/dalvikvm(29979): Total arena pages for JIT: 13
07-23 20:41:40.215: I/dalvikvm(29979): Total arena pages for JIT: 14
07-23 20:41:41.106: D/dalvikvm(29979): GC_CONCURRENT freed 2912K, 19% free 15866K/19432K, paused 3ms+3ms, total 154ms
07-23 20:41:41.106: D/dalvikvm(29979): WAIT_FOR_CONCURRENT_GC blocked 103ms
07-23 20:41:41.997: D/dalvikvm(29979): GC_CONCURRENT freed 3352K, 20% free 16992K/21008K, paused 4ms+2ms, total 130ms
07-23 20:41:41.997: D/dalvikvm(29979): WAIT_FOR_CONCURRENT_GC blocked 110ms
07-23 20:41:42.608: D/dalvikvm(29979): GC_CONCURRENT freed 3502K, 19% free 18351K/22512K, paused 2ms+5ms, total 134ms
07-23 20:41:42.608: D/dalvikvm(29979): WAIT_FOR_CONCURRENT_GC blocked 96ms
07-23 20:41:42.998: D/myLog(29979): 4
07-23 20:41:42.998: D/myLog(29979): 5
07-23 20:41:43.249: D/myLog(29979): 6
07-23 20:41:43.249: D/myLog(29979): 7
07-23 20:41:43.619: D/myLog(29979): 8
07-23 20:41:43.619: D/myLog(29979): 9
07-23 20:41:43.619: D/AndroidRuntime(29979): Shutting down VM
07-23 20:41:43.619: W/dalvikvm(29979): threadid=1: thread exiting with uncaught exception (group=0x40bbc930)
07-23 20:41:43.629: E/AndroidRuntime(29979): FATAL EXCEPTION: main
07-23 20:41:43.629: E/AndroidRuntime(29979): java.lang.RuntimeException: For ExpandableListView, use setAdapter(ExpandableListAdapter) instead of setAdapter(ListAdapter)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at android.widget.ExpandableListView.setAdapter(ExpandableListView.java:423)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at com.example.projecta.MainActivity$MyTask.onPostExecute(MainActivity.java:76)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at com.example.projecta.MainActivity$MyTask.onPostExecute(MainActivity.java:1)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at android.os.AsyncTask.finish(AsyncTask.java:631)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at android.os.AsyncTask.access$600(AsyncTask.java:177)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at android.os.Looper.loop(Looper.java:137)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at android.app.ActivityThread.main(ActivityThread.java:5244)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at java.lang.reflect.Method.invokeNative(Native Method)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at java.lang.reflect.Method.invoke(Method.java:511)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
07-23 20:41:43.629: E/AndroidRuntime(29979):    at dalvik.system.NativeStart.main(Native Method)


lv.setAdapter(aa);
Вот здесь и не работает...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.07.2013, 00:20     Вывод данных в список Listview #2
For ExpandableListView, use setAdapter(ExpandableListAdapter) instead of setAdapter(ListAdapter)
Xpert1993
0 / 0 / 1
Регистрация: 16.06.2012
Сообщений: 41
24.07.2013, 00:28  [ТС]     Вывод данных в список Listview #3
И чего исправить, чтобы работало?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.07.2013, 01:16     Вывод данных в список Listview #4
написано же, использовать ExpandableListAdapter вместо ListAdapter.
Xpert1993
0 / 0 / 1
Регистрация: 16.06.2012
Сообщений: 41
24.07.2013, 12:39  [ТС]     Вывод данных в список Listview #5
Цитата Сообщение от V0v1k Посмотреть сообщение
For ExpandableListView
Но ведь у меня объявлен не ExpandableListView а ListView. Откуда же тогда появится ExpandableListView? Да и раньше этот код работал, это сейчас eclipse переустановил, и запускаться перестало.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.07.2013, 16:23     Вывод данных в список Listview #6
Цитата Сообщение от Xpert1993 Посмотреть сообщение
Но ведь у меня объявлен не ExpandableListView а ListView.
смотрите в лаяуте.
Sherstyuk_Ya_N
4 / 4 / 0
Регистрация: 22.07.2013
Сообщений: 30
25.07.2013, 12:07     Вывод данных в список Listview #7
===== Создаём компонент списка на главной форме =====

---=== main.xml ===---

XML
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical">
<ListView
 android:id="@+id/lvMain"
 android:layout_width="match_parent"
 android:layout_height="wrap_content">
</ListView>
</LinearLayout>
===== Создаём отображения списка (розмер, цвет, отступы) =====

---=== my_list_item.xml ===---

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:gravity="center_horizontal"
    android:padding="5dp"
    android:text="TextView"
    android:textColor="#00FF00"
    android:textSize="24sp" >
 
</TextView>
===== В главном классе пишем =====
---=== MainActivity ===---

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
package syn.simplelist;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
 
public class MainActivity extends Activity {
 
  String[] names = { "Иван", "Марья", "Петр", "Антон", "Даша", "Борис",
      "Костя", "Игорь", "Анна", "Денис", "Андрей" };
 
  /** Called when the activity is first created. */
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
 
    // находим список
    ListView lvMain = (ListView) findViewById(R.id.lvMain);
 
    // создаем адаптер
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            R.layout.my_list_item, names);
 
    // присваиваем адаптер списку
    lvMain.setAdapter(adapter);
 
  }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2013, 20:58     Вывод данных в список Listview
Еще ссылки по теме:

Вывод элементов ListView в строчку Android
Как создать список (ListView) с динамическим количеством передаваемых View? Android
Список ListView из Fragment Android
Вывод массивов через ListView Android
ListView или аналогичный список с возможностью множественного выбора Android

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

Или воспользуйтесь поиском по форуму:
Xpert1993
0 / 0 / 1
Регистрация: 16.06.2012
Сообщений: 41
25.07.2013, 20:58  [ТС]     Вывод данных в список Listview #8
Спасибо большое я уже разобрался.
Yandex
Объявления
25.07.2013, 20:58     Вывод данных в список Listview
Ответ Создать тему
Опции темы

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