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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.76
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

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

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

У меня есть ListView, у него есть своя разметка на которой находится строчки на каждой из которых Button и textView. Как мне обработать нажатие кнопки и изменить здесь же значение в textView, например было в textView "0" станет "1". Можно подробнее с примерами кода, так как я новичок.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2013, 21:16     Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ?
Посмотрите здесь:
Как обработать нажатие на изображение в элементе listView? Android
Android Обработать нажатие на кнопки в уведомлении
Как обработать нажатие кнопки "Назад", чтобы открывался рекламный баннер? Android
Как создать ListView с двумя TextView и работать с ними Android
Как обработать нажатие ImageView Android
Как программно изменить textview? Android
Android Как обработать нажатие на ImageView? Eclipse(android)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 16:10  [ТС]     Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ? #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>
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.04.2013, 16:36     Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ? #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();
    }
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
28.04.2013, 16:50  [ТС]     Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ? #23
Огромное спасибо!!!!!!!!!!!!!!!! Преогромное! Пробую запускать!

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

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

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

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

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

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

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

Цитата Сообщение от V0v1k Посмотреть сообщение
попробуйте уменьшать картинки по размеру.
если скачивать сразу маленькие то всё окей, а как уменьшить размер большой картинки в коде?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.04.2013, 01:10     Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ? #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
постоянное чтение с карты тоже замедляет процесс.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2013, 01:23     Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ?
Еще ссылки по теме:
Как изменить форму TextView элемента? Android
Android Как программно изменить текст в TextView
Android Не получается обработать долгий клик по TextView
Android Как в Android Studio по нажатию кнопки выводить свой текст в TextView?
Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio? Android

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

Или воспользуйтесь поиском по форуму:
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
30.04.2013, 01:23  [ТС]     Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ? #40
Спасибо, буду разбираться. Если, что спрошу.
Yandex
Объявления
30.04.2013, 01:23     Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ?
Ответ Создать тему
Опции темы

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