Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/56: Рейтинг темы: голосов - 56, средняя оценка - 4.55
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
1

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

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

Author24 — интернет-сервис помощи студентам
У меня есть ListView, у него есть своя разметка на которой находится строчки на каждой из которых Button и textView. Как мне обработать нажатие кнопки и изменить здесь же значение в textView, например было в textView "0" станет "1". Можно подробнее с примерами кода, так как я новичок.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2013, 21:16
Ответы с готовыми решениями:

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

TreeView, ListView, как обработать нажатие мыши
Доброго времени суток коллеги. Проблема в следующем: У меня есть элементы TreeView и ListView,...

Как обработать нажатие кнопки на клавиатуре
Здравствуйте. Пытаюсь написать игру ханойские башни Механика игры: над штырями бегает квадратик...

Как обработать событие ctrl + нажатие кнопки
Добрый день, перечитал все связаные темы тут, никак не могу реализовать. Как обработать...

43
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 16:10  [ТС] 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от 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
1162 / 986 / 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
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
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 17:24 24
Цитата Сообщение от Stylish2013 Посмотреть сообщение
А здесь наверное не (getContext() а getBaseContext() ???
верно.
1
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 18:16  [ТС] 25
Спасибо Огромное!!! Да всё работает!!!!

Но я столкнулся с новой задачей, а как же здесь поменять текст в textView?
0
1162 / 986 / 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
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 18:41  [ТС] 27
Только почему, то у меня если промотал вниз а потом вверх, то что оно сразу изменила в TextView, может опять пропасть, а в нижних некоторых Item может добавиться, хотя я туда не нажимал. Из за чего это может быть?
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 18:55 28
это механизм повторного использования View, нужно запоминать в каком айтеме какое значение должно быть и постоянно обновлять в getView.
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 19:13  [ТС] 29
Цитата Сообщение от V0v1k Посмотреть сообщение
это механизм повторного использования View, нужно запоминать в каком айтеме какое значение должно быть и постоянно обновлять в getView.
Полазил по интернету, а как решить это не знаю.... V0v1k Спасибо, что мне помогаете.. p.s а то я уже надоел со своими вопросами.
0
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
29.04.2013, 22:41  [ТС] 30
Подскажите, почему у меня при прокрутке ListView он как бы подтормаживает пролистывая каждый item, как бы заново грузя новый item? как сохранять ListView? Код можно просмотреть выше.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.04.2013, 22:59 31
Цитата Сообщение от Stylish2013 Посмотреть сообщение
почему у меня при прокрутке ListView он как бы подтормаживает пролистывая каждый item
может вы засунули тяжелый операции в getView?

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

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

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

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

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

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

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

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

Добавлено через 6 минут
после всего этого можете еще рассмотреть возможно самому загружать картинки вместо адаптера и кешировать в оперативной памяти - http://developer.android.com/t... itmap.html
постоянное чтение с карты тоже замедляет процесс.
1
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
30.04.2013, 01:23  [ТС] 40
Спасибо, буду разбираться. Если, что спрошу.
0
30.04.2013, 01:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2013, 01:23
Помогаю со студенческими работами здесь

Как обработать событие 'Нажатие апплетовской кнопки' в сервлете ?
Пиплы подскажите не могу найти в доках. Как обработать событие 'Нажатие апплетовской кнопки' в...

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

Обработать нажатие кнопки
Здравствуйте. У меня автоматически создаются девять кнопок, вот так: Button But = new Button;...

Обработать нажатие кнопки в DataGridView
Программисты, помогите, в пятницу курсач сдавать!! Есть datagridview, в ней описаны товары: Тип,...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru