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

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

Войти
Регистрация
Восстановить пароль
 
Marik1993
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156
24.06.2014, 14:03     ListView ошибка при прокручивании #1
Читаю с 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;
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2014, 14:03     ListView ошибка при прокручивании
Посмотрите здесь:

Android Ошибка добавления списка контактов в ListView
Ошибка при выборе Item в ListView Android
Android Цвет ListView при скролинге
Android ListView и мультивыбор при открытии активити
Android Сбрасываются надписи на контролах при скроллинге ListView
Ошибка The content of the adapter has changed but ListView did not receive a notification Android
Android Баг с items при прокручивании ListView
NullPointerException при поиске ListView Android
Ошибка с формированием ListView Android
Android Ошибка запуска ListView
Скрывать Toolbar при пролистывании ListView Android
Ошибка при инициализации ListView в ViewPager Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
24.06.2014, 15:05     ListView ошибка при прокручивании #2
Marik1993, какая ошибка? Вангую, OutOfMemoryError
Marik1993
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156
24.06.2014, 15:07  [ТС]     ListView ошибка при прокручивании #3
Ошибки следующие:

06-24 13:27:09.639 19980-19980/com.ua.enginemarket E/InputEventReceiver﹕ Exception dispatching input event.
06-24 13:27:09.639 19980-19980/com.ua.enginemarket W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40c46558)
06-24 13:27:09.709 19980-19980/com.ua.enginemarket E/AndroidRuntime﹕ FATAL EXCEPTION: main
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
24.06.2014, 15:20     ListView ошибка при прокручивании #4
Marik1993, ещё. Это только начало. Весь стек трейс покажите
Marik1993
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156
24.06.2014, 15:26  [ТС]     ListView ошибка при прокручивании #5
Кликните здесь для просмотра всего текста

06-24 14:26:15.679 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x55077000 size:348160 offset:0 fd:94
06-24 14:26:15.679 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x50943000 size:4096 offset:0 fd:96
06-24 14:26:15.849 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x554b7000 size:2088960 offset:0 fd:100
06-24 14:26:15.849 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x50944000 size:4096 offset:0 fd:102
06-24 14:26:15.919 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x550cc000 size:348160 offset:0 fd:104
06-24 14:26:15.929 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x5094e000 size:4096 offset:0 fd:106
06-24 14:26:15.949 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x5476f000 size:2088960
06-24 14:26:15.949 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x50258000 size:4096
06-24 14:26:15.949 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x54c7b000 size:2088960
06-24 14:26:15.949 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x50259000 size:4096
06-24 14:26:15.949 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x552b9000 size:2088960
06-24 14:26:15.949 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x50847000 size:4096
06-24 14:26:15.949 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x542ab000 size:2088960
06-24 14:26:15.949 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x4ffe1000 size:4096
06-24 14:26:15.979 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x542ab000 size:348160 offset:0 fd:70
06-24 14:26:15.979 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x4ffe1000 size:4096 offset:0 fd:72
06-24 14:26:16.489 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x54300000 size:2088960 offset:0 fd:74
06-24 14:26:16.489 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x50258000 size:4096 offset:0 fd:80
06-24 14:26:16.529 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x5476f000 size:2088960 offset:0 fd:82
06-24 14:26:16.529 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Mapped buffer base:0x50259000 size:4096 offset:0 fd:88
06-24 14:26:17.589 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x54013000 size:348160
06-24 14:26:17.589 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x50848000 size:4096
06-24 14:26:17.589 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x55077000 size:348160
06-24 14:26:17.589 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x50943000 size:4096
06-24 14:26:17.589 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x550cc000 size:348160
06-24 14:26:17.589 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x5094e000 size:4096
06-24 14:26:17.589 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x542ab000 size:348160
06-24 14:26:17.589 30271-30271/com.ua.enginemarket D/memalloc﹕ ion: Unmapping buffer base:0x4ffe1000 size:4096
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET] getaddrinfo hn 20, servname NULL, ai_family 0+
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET] ht 0x7777772e656e67
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET] getaddrinfo-exit,err=8
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET] getaddrinfo hn 20, servname NULL, ai_family 0+
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET] ht 0x7777772e656e67
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET] android_getaddrinfo_proxy+
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET]android_getaddrinfo_proxy+
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET]android_getaddrinfo_proxy-,1
06-24 14:26:17.719 30271-30618/com.ua.enginemarket D/libc﹕ [NET] getaddrinfo-exit 1
06-24 14:26:17.729 30271-30618/com.ua.enginemarket I/global﹕ return the DNS addresses
06-24 14:26:17.869 30271-30618/com.ua.enginemarket I/global﹕ connect succeed for send socket request
06-24 14:26:18.019 30271-30620/com.ua.enginemarket I/global﹕ connect succeed for send socket request
06-24 14:26:18.129 30271-30621/com.ua.enginemarket I/global﹕ connect succeed for send socket request
06-24 14:26:18.299 30271-30622/com.ua.enginemarket I/global﹕ connect succeed for send socket request
06-24 14:26:18.359 30271-30622/com.ua.enginemarket I/global﹕ connect succeed for send socket request
06-24 14:26:20.359 30271-30271/com.ua.enginemarket E/InputEventReceiver﹕ Exception dispatching input event.
06-24 14:26:20.359 30271-30271/com.ua.enginemarket W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40c46558)
06-24 14:26:20.429 30271-30271/com.ua.enginemarket E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.ClassCastException: com.ua.enginemarket.SelectListPPItem cannot be cast to android.view.View
at com.ua.enginemarket.ShowListPPAdapter.getView(ShowListPPAdapter.java:71)
at android.widget.AbsListView.obtainView(AbsListView.java:2394)
at android.widget.ListView.makeAndAddView(ListView.java:1968)
at android.widget.ListView.fillDown(ListView.java:820)
at android.widget.ListView.fillGap(ListView.java:784)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5372)
at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3405)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:3691)
at android.widget.ListView.onTouchEvent(ListView.java:4074)
at android.view.View.dispatchTouchEvent(View.java:7203)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2181)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1916)
at android.widget.AbsListView.dispatchTouchEvent(AbsListView.java:7020)
at android.widget.ListView.dispatchTouchEvent(ListView.java:4488)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1930)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1930)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1930)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1930)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2046)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1500)
at android.app.Activity.dispatchTouchEvent(Activity.java:2454)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1994)
at android.view.View.dispatchPointerEvent(View.java:7397)
at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3650)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3579)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4688)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4667)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4763)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:196)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:183)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4740)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4792)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:746)
at android.view.Choreographer.doCallbacks(Choreographer.java:572)
at android.view.Choreographer.doFrame(Choreographer.java:534)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:731)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5536)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1074)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:841)
at dalvik.system.NativeStart.main(Native Method)
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
24.06.2014, 15:28     ListView ошибка при прокручивании #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Marik1993 Посмотреть сообщение
@Override public Object getItem(int position) { return position; }
неверно.

Цитата Сообщение от Marik1993 Посмотреть сообщение
if(convertView == null) { convertView = layoutInflater.inflate(R.layout.item_pp, null); } else { return null; }
уберите else.
Yandex
Объявления
24.06.2014, 15:28     ListView ошибка при прокручивании
Ответ Создать тему
Опции темы

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