Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.76/41: Рейтинг темы: голосов - 41, средняя оценка - 4.76
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ?

27.04.2013, 21:16. Просмотров 7404. Ответов 43
Метки нет (Все метки)

У меня есть ListView, у него есть своя разметка на которой находится строчки на каждой из которых Button и textView. Как мне обработать нажатие кнопки и изменить здесь же значение в textView, например было в textView "0" станет "1". Можно подробнее с примерами кода, так как я новичок.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2013, 21:16
Ответы с готовыми решениями:

Как обработать нажатие на изображение в элементе listView?
Как все знают, listView делится на множество элементов, нажатия на них можно...

Как изменить цвет TextView в виджете нажатием кнопки?
Здравствуйте. Я сделал виджет с часами, но мне нужно сделать так чтобы в...

Обработать нажатие на кнопки в уведомлении
Еще раз здравствуйте. Дело такое. Есть уведомление, в нем две кнопки. Они...

Программно изменить TextView и остановить таймер в ListView с multiple CountDownTimer
Как по событию финишировать таймер и поменять TextView (tvStateClose и...

Как обработать нажатие кнопки "Назад", чтобы открывался рекламный баннер?
Требуется помощь. Начал осваивать это все недавно. Расскажу суть идеи: создав...

43
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 16:10  [ТС] #21
Цитата Сообщение от V0v1k Посмотреть сообщение
просто скопируйте сюда код.
Сейчас.

Добавлено через 10 минут
Вот код класса 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
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
public class MainActivity extends Activity {
 
    ListView mListView;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
 
        String strUrl = "https://api.vk.com/method/wall.get?domain=vinylminsk&count=5";
 
        DownloadTask downloadTask = new DownloadTask();
        downloadTask.execute(strUrl);
        mListView = (ListView) findViewById(R.id.lv_groups);
    }
 
    public void onMyButtonClick(View v) {
        // создаем и отображаем текстовое уведомление
        Toast toast = Toast.makeText(getApplicationContext(),
                "нажата кнопка Like!", Toast.LENGTH_SHORT);
        toast.setGravity(Gravity.CENTER, 0, 0);
        toast.show();
    }
 
    private String downloadUrl(String strUrl) throws IOException {
        String data = "";
        InputStream iStream = null;
        try {
            URL url = new URL(strUrl);
            HttpURLConnection urlConnection = (HttpURLConnection) url
                    .openConnection();
            urlConnection.connect();
            iStream = urlConnection.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    iStream));
            StringBuffer sb = new StringBuffer();
            String line = "";
            while ((line = br.readLine()) != null) {
                sb.append(line);
            }
            data = sb.toString();
            br.close();
 
        } catch (Exception e) {
            Log.d("Exception while downloading url", e.toString());
        } finally {
            iStream.close();
        }
        return data;
    }
 
    private class DownloadTask extends AsyncTask<String, Integer, String> {
        String data = null;
 
        @Override
        protected String doInBackground(String... url) {
            try {
                data = downloadUrl(url[0]);
            } catch (Exception e) {
                Log.d("Background Task", e.toString());
            }
            return data;
        }
 
        @Override
        protected void onPostExecute(String result) {
 
            ListViewLoaderTask listViewLoaderTask = new ListViewLoaderTask();
            listViewLoaderTask.execute(result);
        }
    }
 
    private class ListViewLoaderTask extends
            AsyncTask<String, Void, SimpleAdapter> {
 
        JSONObject jObject;
 
        @Override
        protected SimpleAdapter doInBackground(String... strJson) {
            try {
                jObject = new JSONObject(strJson[0]);
                NewsJSONParser newsJsonParser = new NewsJSONParser();
                newsJsonParser.parse(jObject);
            } catch (Exception e) {
                Log.d("JSON Exception1", e.toString());
            }
 
            NewsJSONParser newsJsonParser = new NewsJSONParser();
            List<HashMap<String, Object>> countries = null;
            try {
                countries = newsJsonParser.parse(jObject);
            } catch (Exception e) {
                Log.d("Exception", e.toString());
            }
 
            String[] from = { "text", "imageLogo", "details", "detalisLikes" };
 
            int[] to = { R.id.tv_country, R.id.iv_flag, R.id.textViewRepost,
                    R.id.textViewLike };
 
            SimpleAdapter adapter = new SimpleAdapter(getBaseContext(),
                    countries, R.layout.copy_v_layout, from, to);
            return adapter;
        }
 
        @Override
        protected void onPostExecute(SimpleAdapter adapter) {
 
            mListView.setAdapter(adapter);
            for (int i = 0; i < adapter.getCount(); i++) {
                HashMap<String, Object> hm = (HashMap<String, Object>) adapter
                        .getItem(i);
                String imgUrl = (String) hm.get("imageLogo_path");
                ImageLoaderTask imageLoaderTask = new ImageLoaderTask();
                HashMap<String, Object> hmDownload = new HashMap<String, Object>();
                hm.put("imageLogo_path", imgUrl);
                hm.put("position", i);
                imageLoaderTask.execute(hm);
            }
 
        }
    }
 
    private class ImageLoaderTask extends
            AsyncTask<HashMap<String, Object>, Void, HashMap<String, Object>> {
 
        @Override
        protected HashMap<String, Object> doInBackground(
                HashMap<String, Object>... hm) {
 
            InputStream iStream = null;
            String imgUrl = (String) hm[0].get("imageLogo_path");
            int position = (Integer) hm[0].get("position");
 
            URL url;
            try {
                url = new URL(imgUrl);
                HttpURLConnection urlConnection = (HttpURLConnection) url
                        .openConnection();
                urlConnection.connect();
                iStream = urlConnection.getInputStream();
                File cacheDirectory = getBaseContext().getCacheDir();
                File tmpFile = new File(cacheDirectory.getPath() + "/wpta_"
                        + position + ".png");
                FileOutputStream fOutStream = new FileOutputStream(tmpFile);
                Bitmap b = BitmapFactory.decodeStream(iStream);
                b.compress(Bitmap.CompressFormat.PNG, 100, fOutStream);
                fOutStream.flush();
                fOutStream.close();
 
                HashMap<String, Object> hmBitmap = new HashMap<String, Object>();
                hmBitmap.put("imageLogo", tmpFile.getPath());
                hmBitmap.put("position", position);
                return hmBitmap;
 
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
 
        @Override
        protected void onPostExecute(HashMap<String, Object> result) {
            String path = (String) result.get("imageLogo");
            int position = (Integer) result.get("position");
            SimpleAdapter adapter = (SimpleAdapter) mListView.getAdapter();
 
            HashMap<String, Object> hm = (HashMap<String, Object>) adapter
                    .getItem(position);
            hm.put("imageLogo", path);
            adapter.notifyDataSetChanged();
 
            // ПрогрессБар убирем
            ProgressBar playSeekBar;
            playSeekBar = (ProgressBar) findViewById(R.id.progressBar1);
            playSeekBar.setVisibility(View.INVISIBLE);
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}
Вот разметка activity_main.xml:

XML
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
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    tools:ignore="UselessLeaf" >
 
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/panel"
        android:orientation="vertical" >
 
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
 
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                 android:layout_marginTop="5dp"
                android:layout_marginRight="15dp"
                android:background="@drawable/settiing"
                android:gravity="center" />
 
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="Новости" 
                android:textSize="17dp"
                android:textColor="@android:color/white"
                android:textStyle="bold"/>
 
        </RelativeLayout>
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@drawable/tab_underground"
        android:orientation="vertical" >
 
        <TabHost
            android:id="@android:id/tabhost"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
 
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >
 
                <TabWidget
                    android:id="@android:id/tabs"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" >
                </TabWidget>
 
                <FrameLayout
                    android:id="@android:id/tabcontent"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
 
                    <LinearLayout
                        android:id="@+id/tab1"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" >
                    </LinearLayout>
 
                    <LinearLayout
                        android:id="@+id/tab2"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" >
                    </LinearLayout>
 
                    <LinearLayout
                        android:id="@+id/tab3"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" >
                    </LinearLayout>
 
                    <LinearLayout
                        android:id="@+id/tab4"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" >
                    </LinearLayout>
                </FrameLayout>
            </LinearLayout>
        </TabHost>
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/linearLayout2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/linearLayout1"
      
        android:orientation="vertical" >
 
        <ListView
            android:id="@+id/lv_groups"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
    </LinearLayout>
 
</RelativeLayout>
А вот разметка copy_v_layout.xml:

XML
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/fon_item2" >
 
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:orientation="vertical" >
 
        <TextView
            android:id="@+id/tv_country"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/linearLayout1"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:orientation="vertical" >
 
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
 
            <ImageView
                android:id="@+id/iv_flag"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:src="@drawable/image" />
 
            <ProgressBar
                android:id="@+id/progressBar1"
                style="?android:attr/progressBarStyleLarge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
              />
 
        </RelativeLayout>
 
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/linearLayout4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/linearLayout3"
        android:layout_below="@+id/linearLayout2"
        android:orientation="vertical" >
 
        <TextView
            android:id="@+id/tv_country_details"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="минуты" />
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/linearLayout2"
        android:layout_below="@+id/linearLayout4"
        android:orientation="vertical" >
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@+id/linearLayout3"
        android:orientation="vertical" >
 
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/fon_pod_button"
            android:gravity="center" >
 
            <TextView
                android:id="@+id/textView4share"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/Button01"
                android:layout_alignBottom="@+id/Button01"
                android:layout_alignRight="@+id/Button01"
                android:layout_marginRight="28dp"
                android:text="6" />
 
            <TextView
                android:id="@+id/textView5like"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/Button02"
                android:layout_alignBottom="@+id/Button02"
                android:layout_alignRight="@+id/Button02"
                android:layout_marginRight="26dp"
                android:text="2" />
 
            <Button
                android:id="@+id/Button01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/textView5like"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="10dp"
             
                android:background="@drawable/share" />
 
            <Button
                android:id="@+id/Button02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:layout_marginRight="10dp"
                android:onClick="onMyButtonClick"
                android:background="@drawable/like" />
 
            <TextView
                android:id="@+id/textViewLike"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/textView5like"
                android:layout_alignBottom="@+id/textView5like"
                android:layout_alignRight="@+id/textView5like"
                android:text="TextView" />
 
            <TextView
                android:id="@+id/textViewRepost"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/textView4share"
                android:layout_alignBottom="@+id/textView4share"
                android:layout_alignRight="@+id/textView4share"
                android:text="TextView" />
        </RelativeLayout>
    </LinearLayout>
 
</RelativeLayout>
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 16:36 #22
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SimpleAdapter adapter = new SimpleAdapter(getContext(), countries,
                    R.layout.copy_v_layout, from, to) {
 
                @Override
                public View getView(int position, View convertView,
                        ViewGroup parent) {
                    ViewGroup layout = (ViewGroup) super.getView(position,
                            convertView, parent);
                    Button button = (Button) layout.findViewById(R.id.Button02);
                    button.setTag(position);
                    return layout;
                }
 
            };
Java
1
2
3
public void onMyButtonClick(View v) {
        int position = (Integer) v.getTag();
    }
1
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 16:50  [ТС] #23
Огромное спасибо!!!!!!!!!!!!!!!! Преогромное! Пробую запускать!

Цитата Сообщение от V0v1k Посмотреть сообщение
Java
1
SimpleAdapter adapter = new SimpleAdapter(getContext(), countries, R.layout.copy_v_layout, from, to) {
А здесь наверное не (getContext() а getBaseContext() ???
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 17:24 #24
Цитата Сообщение от Stylish2013 Посмотреть сообщение
А здесь наверное не (getContext() а getBaseContext() ???
верно.
1
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 18:16  [ТС] #25
Спасибо Огромное!!! Да всё работает!!!!

Но я столкнулся с новой задачей, а как же здесь поменять текст в textView?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 18:20 #26
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 @Override
                public View getView(int position, View convertView,
                        ViewGroup parent) {
                    ViewGroup layout = (ViewGroup) super.getView(position,
                            convertView, parent);
                    Button button = (Button) layout.findViewById(R.id.Button02);
                    button.setTag(position);
                     
                    final TextView textView = layout.findViewById(R.id....);
                     button.setOnClickListener(new OnClickListener() {
                        
                        @Override
                        public void onClick(View v) {
                            textView .setText("text");
                        }
                    });
                    return layout;
                }
1
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 18:41  [ТС] #27
Только почему, то у меня если промотал вниз а потом вверх, то что оно сразу изменила в TextView, может опять пропасть, а в нижних некоторых Item может добавиться, хотя я туда не нажимал. Из за чего это может быть?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 18:55 #28
это механизм повторного использования View, нужно запоминать в каком айтеме какое значение должно быть и постоянно обновлять в getView.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 19:13  [ТС] #29
Цитата Сообщение от V0v1k Посмотреть сообщение
это механизм повторного использования View, нужно запоминать в каком айтеме какое значение должно быть и постоянно обновлять в getView.
Полазил по интернету, а как решить это не знаю.... V0v1k Спасибо, что мне помогаете.. p.s а то я уже надоел со своими вопросами.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
29.04.2013, 22:41  [ТС] #30
Подскажите, почему у меня при прокрутке ListView он как бы подтормаживает пролистывая каждый item, как бы заново грузя новый item? как сохранять ListView? Код можно просмотреть выше.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.04.2013, 22:59 #31
Цитата Сообщение от Stylish2013 Посмотреть сообщение
почему у меня при прокрутке ListView он как бы подтормаживает пролистывая каждый item
может вы засунули тяжелый операции в getView?

Цитата Сообщение от Stylish2013 Посмотреть сообщение
как сохранять ListView?
сохраняют обычно то, что читается с файлов, загружается с сети...
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
29.04.2013, 23:07  [ТС] #32
Да нет, это ещё до getView было. Бывает я начинаю матать вниз ListView картинки уже загрузились всё показывает, потом вверх вниз, всё показывает, а потом бац и уже какие-то не показывает, а потом и вообще может никакие не показать, что у меня не так с кодом?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.04.2013, 23:23 #33
выложите проект.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
30.04.2013, 00:09  [ТС] #34
Выкладываю: http://rusfolder.com/images/download_1.jpg

если поставить в ссылке получать допустим не 15 новостей а больше например 50, то оно вообще начинает грузится а потом вылетает и картинки вообще не грузит.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.04.2013, 00:30 #35
Цитата Сообщение от Stylish2013 Посмотреть сообщение
если поставить в ссылке получать допустим не 15 новостей а больше например 50, то оно вообще начинает грузится а потом вылетает и картинки вообще не грузит.
памяти не хватает.
https://www.google.com.ua/search?q=a...hrome&ie=UTF-8

Добавлено через 9 минут
глюки из-за тяжести картинок.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
30.04.2013, 00:38  [ТС] #36
Я видел ленивый загрузчик, так это надо весь код переписать..))) т.е. памяти не хватает. а какой????
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.04.2013, 00:52 #37
ну и немного может улучшить ситуацию использование патерн View Holder в адаптере и использования onClick в лаяуте вместо создание лысенеров в адаптере.

Добавлено через 1 минуту
Цитата Сообщение от Stylish2013 Посмотреть сообщение
Я видел ленивый загрузчик, так это надо весь код переписать..))) т.е. памяти не хватает. а какой????
оперативной. есть определенный лимит для апликейшена в зависимости от девайса.

Добавлено через 12 минут
попробуйте уменьшать картинки по размеру.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
30.04.2013, 00:52  [ТС] #38
т.е. на другом девайсе оно сможет работать лучше.? я так понимаю.

Цитата Сообщение от V0v1k Посмотреть сообщение
попробуйте уменьшать картинки по размеру.
если скачивать сразу маленькие то всё окей, а как уменьшить размер большой картинки в коде?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.04.2013, 01:10 #39
Цитата Сообщение от Stylish2013 Посмотреть сообщение
если скачивать сразу маленькие то всё окей
ну то скачивайте маленькие.

Добавлено через 2 минуты
Цитата Сообщение от Stylish2013 Посмотреть сообщение
а как уменьшить размер большой картинки в коде?
http://developer.android.com/trainin...ad-bitmap.html

Добавлено через 1 минуту
если и этого будет мало, можете еще немного качеством пожертвовать, там где вы создаете битмап можно использовать другой формат(для PNG игнорится quality) и уменьшить quality.

Добавлено через 6 минут
после всего этого можете еще рассмотреть возможно самому загружать картинки вместо адаптера и кешировать в оперативной памяти - http://developer.android.com/trainin...he-bitmap.html
постоянное чтение с карты тоже замедляет процесс.
1
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
30.04.2013, 01:23  [ТС] #40
Спасибо, буду разбираться. Если, что спрошу.
0
30.04.2013, 01:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2013, 01:23

ListView после обновлений данных также обратно через нажатие кнопки вернуть старые данные назад
Я работаю с ассортиментом для продаж ,которого JSON файла сохраняю локально.В...

Как создать ListView с двумя TextView и работать с ними
Как создать ListView с двумя TextView и работать с ними использую класс...

Как обработать нажатие на ImageView?
Ребят, не пойму в чем ошибка, как обработать нажатие на картинку? public...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

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