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

ListView ошибка при прокручивании - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Разное содержание в ListView http://www.cyberforum.ru/android-dev/thread1215847.html
Здравствуйте. Делаю программу наподобие RSS Reader'а, сами новости должны отображаться в ListView. Нужно, чтобы программа формировала View из текста и отображала его в списке. Содержание новостей только текст и картинки. Содержание новости примерно такое: Текст новости ссылка на картинку продолжение Как сделать, чтобы программа принимала на вход строку, парсила ее и отображала...
Android Не отображается картинка и неправильно отображаютя записи в кастомном ListView Здравствуйте. Скачал проект для Eclipse отсюда Тестирую на Samsung Galaxy Note 8.0, Android 4.2.2 Компилируется проект нормально, но есть проблемы с отображением. Вот так он должен был выглядеть: http://www.cyberforum.ru/android-dev/thread1215823.html
Android WhatsApi
Подскажите, есть ли API для мониторинга WhatsApp ? Нужен перехват входящих/исходящих сообщений...
Android xml из интернета Android
Оснакомился с этим уроком http://startandroid.ru/ru/uroki/vse-uroki-spiskom/142-urok-79-xmlpullparser-parsim-xml.html вроде всё нормально. Но мне надо распарсить xml из сети http://www.boi.org.il/currency.xml тоесть надо его скачать для начала? Подскажите плиз как изменить код из урока!?
Android ListView подсветка выделенного пункта http://www.cyberforum.ru/android-dev/thread1215595.html
Всем доброго времени суток! Понимаю, вопрос нубский, но никак не получается сделать navigation drawer с listview, в котором подсвечивается выбранный пункт... То есть подсветка выбранного пункта работает, но это происходит при нажатии, а не отрыва пальца от дисплея... Вот код адаптера: package com.contedevel.timetable.helpers; import android.app.Activity; import android.content.Context;...
Android Комплекс для автоматической генерации приложений под android + автоматическая выливка Привет. Закончил недавно проект по автоматической генерации приложений под андроид. Смысл приложения для клонирования (пока только одного, будут добавляться по мере необходимости) это обычная фотогалерея, вот скрины: http://178.172.235.199/server/gallery/content/Erotic_Art/etc/screenshots/screenshot1.jpg http://178.172.235.199/server/gallery/content/Erotic_Art/etc/screenshots/screenshot2.jpg... подробнее

Показать сообщение отдельно
Marik1993
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156

ListView ошибка при прокручивании - Android

24.06.2014, 14:03. Просмотров 541. Ответов 5
Метки (Все метки)

Читаю с json файла данные и добавляю их в ListView, первые 5 отображаются, а когда начинаю прокручивать вниз он выбивает ошибку.

Кликните здесь для просмотра всего текста

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
public class ShowListPP extends Activity {
 
    ListView ListPP;
    ShowListPPAdapter adapter;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.show_list_pp);
 
        StrictMode.enableDefaults();
 
        // get the action bar
        ActionBar actionBar = getActionBar();
 
        // Enabling Back navigation on Action Bar icon
        actionBar.setDisplayHomeAsUpEnabled(true);
 
        setTitle(R.string.ppSelectTitle);
 
        new AsyncListViewLoader().execute("");
    }
 
 
 
    private class AsyncListViewLoader extends AsyncTask<String, Void, JSONArray> {
        private final ProgressDialog dialog = new ProgressDialog(ShowListPP.this);
 
        @Override
        protected void onPostExecute(JSONArray result) {
            super.onPostExecute(result);
            dialog.dismiss();
 
            adapter = new ShowListPPAdapter(result, ShowListPP.this);
 
            ListPP = (ListView) findViewById(R.id.ListPP);
 
            ListPP.setAdapter(adapter);
 
            ListPP.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
                    TextView textview1 = (TextView) v.findViewById(R.id.itemName);
 
                    MainActivity.SELECT_PP = textview1.getTag().toString();
 
                    Intent i = new Intent(ShowListPP.this, PPactivity.class);
                    startActivity(i);
                }
            });
        }
 
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            dialog.setMessage("Загрузка...");
            dialog.show();
        }
 
        @Override
        protected JSONArray doInBackground(String... params) {
            JSONArray result;
 
            try {
                result = setCatData(RubSelect.selectThirdLevel, "selectPP.php");
                return result;
            }
            catch(Throwable t) {
                t.printStackTrace();
            }
            return null;
        }
    }
 
    private JSONArray setCatData(String napr, String file){
        String result = "";
        InputStream isr = null;
 
        JSONArray jsonArray = null;
 
        Uri.Builder builder = new Uri.Builder();
        builder.scheme("http").authority("www.engine-market.ua")
                .appendPath("android")
                .appendPath(file);
 
        String myUrl = builder.build().toString();
 
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost post = new HttpPost(myUrl);
 
        try {
            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("rubName", napr));
 
            post.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
 
            HttpResponse response = httpclient.execute(post);
            HttpEntity entity = response.getEntity();
 
            isr = entity.getContent();
 
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        //convert response to string
        try{
            BufferedReader reader = new BufferedReader(new InputStreamReader(isr, "utf-8"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            isr.close();
 
            result=sb.toString();
 
            jsonArray = new JSONArray(result);
        }
        catch(Exception e){
            Log.e("log_tag", "Error  converting result " + e.toString());
        }
 
        return jsonArray;
    }
 
    /**
     * Show action bar
     */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main_menu, menu);
 
        // Associate searchable configuration with the SearchView
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView) menu.findItem(R.id.action_search)
                .getActionView();
        searchView.setSearchableInfo(searchManager
                .getSearchableInfo(getComponentName()));
 
 
        return super.onCreateOptionsMenu(menu);
    }
 
    /**
     * On selecting action bar icons
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Take appropriate action for each action item click
        switch (item.getItemId()) {
            case R.id.action_search:
                // activity_search_results action
                return true;
            case R.id.action_about:
                getAboutActivity();
                return true;
            case R.id.action_newAdd:
                Intent i = new Intent(ShowListPP.this, Selltech.class);
                startActivity(i);
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
 
    private void getAboutActivity(){
        Intent i = new Intent(ShowListPP.this, AboutActivity.class);
        startActivity(i);
    }
}


Кликните здесь для просмотра всего текста
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
public class ShowListPPAdapter extends BaseAdapter {
 
    private JSONArray dataArray;
    private Activity activity;
 
    private static LayoutInflater layoutInflater = null;
 
    public ShowListPPAdapter(JSONArray jsonArray, ShowListPP a){
        dataArray = jsonArray;
        activity = a;
 
        layoutInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
 
    @Override
    public int getCount() {
        return dataArray.length();
    }
 
    @Override
    public Object getItem(int position) {
        return position;
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
 
        if(convertView == null) {
            convertView = layoutInflater.inflate(R.layout.item_pp, null);
        } else {
            return  null;
        }
 
        SelectListPPItem cell = new SelectListPPItem();
 
        cell.namePP = (TextView) convertView.findViewById(R.id.itemName);
        cell.pricePP = (TextView) convertView.findViewById(R.id.itemPrice);
        cell.imagePP = (ImageView) convertView.findViewById(R.id.itemImage);
        cell.sostPP = (TextView) convertView.findViewById(R.id.itemSost);
        cell.yearPP = (TextView) convertView.findViewById(R.id.itemYear);
 
        try{
            JSONObject jsonObject = dataArray.getJSONObject(position);
            cell.namePP.setText(jsonObject.getString("Name"));
            cell.namePP.setTag(jsonObject.getString("Id"));
            cell.pricePP.setText(jsonObject.getString("Price"));
            cell.sostPP.setText(jsonObject.getString("Sost"));
            cell.yearPP.setText(jsonObject.getString("Year"));
 
            final URL url = new URL("http://www.engine-market.ua/" + jsonObject.getString("Image"));
 
 
            new AsyncTask<SelectListPPItem, Void, Bitmap>() {
                private SelectListPPItem v;
 
                @Override
                protected Bitmap doInBackground(SelectListPPItem... params) {
                    v = params[0];
 
                    Bitmap bmp = null;
 
                    try {
                        bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    return bmp;
                }
 
                @Override
                protected void onPostExecute(Bitmap result) {
                    super.onPostExecute(result);
                    v.imagePP.setVisibility(View.VISIBLE);
                    v.imagePP.setImageBitmap(result);
                }
            }.execute(cell);
 
        } catch(JSONException e){
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
 
 
        Log.i("infa100", "lalal");
 
        return convertView;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru