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

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

Войти
Регистрация
Восстановить пароль
 
талраш
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 33
#1

Достать значение из ArrayList - Android

07.10.2016, 13:17. Просмотров 180. Ответов 6
Метки нет (Все метки)

Всем привет. Нужна помощь по ArrayList. Я в кастомный arraylist(если как то неправильно написал то в таком виде arraylist<Example>) поместил данные с json. В Example 3 строчки например- имя,цена,описание,. Как достать оттуда определённое значение например имя 6 элемента.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2016, 13:17     Достать значение из ArrayList
Посмотрите здесь:

Android Как в ArrayList найти значение?
ArrayList Android
Android Как поместить в preferences arrayList типа: arraylist<Class>
ArrayList Android
Android Работа с ArrayList
Android Фильтрация ArrayList
SharedPreferences ArrayList<String> Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2014 / 1756 / 546
Регистрация: 12.05.2014
Сообщений: 6,215
Завершенные тесты: 1
07.10.2016, 13:21     Достать значение из ArrayList #2
где код?
талраш
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 33
07.10.2016, 13:48  [ТС]     Достать значение из ArrayList #3
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
187
188
189
package com.medkey.medkey;
 
import android.app.DialogFragment;
import android.content.Context;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.GridView;
 
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
 
 
public class OrderFragment extends Fragment {
    private static final String ARG_PARAM1 = "param1";
    private static final String ARG_PARAM2 = "param2";
 
 
    private String mParam1;
    private String mParam2;
 
    private OnFragmentInteractionListener mListener;
 
    public static OrderFragment newInstance(String param1, String param2) {
        OrderFragment fragment = new OrderFragment();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
 
 
 
        fragment.setArguments(args);
        return fragment;
    }
    public OrderFragment() {
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        if (getArguments() != null) {
            mParam1 = getArguments().getString(ARG_PARAM1);
            mParam2 = getArguments().getString(ARG_PARAM2);
        }
    }
    DialogFragment modal;
    View view;
    DataAdapter OrAdapter;
    GridView gvOrder;
    protected static ArrayList<DataO> OrderData;
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_order, container, false);
        modal=new Dialog1();
        new DataOInit().execute();
        return view;
    }
    public class DataOInit extends AsyncTask<Void, Void, String> {
 
        HttpURLConnection urlConnection = null;
        BufferedReader reader = null;
        String resultJson = "";
 
        @Override
        protected String doInBackground(Void... params) {
            // получаем данные с внешнего ресурса
            try {
                URL url = new URL(MainActivity.ARTICLE_URL);
 
                urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.connect();
 
                InputStream inputStream = urlConnection.getInputStream();
                StringBuffer buffer = new StringBuffer();
 
                reader = new BufferedReader(new InputStreamReader(inputStream));
 
                String line;
                while ((line = reader.readLine()) != null) {
                    buffer.append(line);
                }
 
                resultJson = buffer.toString();
 
            } catch (Exception e) {
                e.printStackTrace();
            }
            return resultJson;
        }
 
        @Override
        protected void onPostExecute(String strJson) {
            super.onPostExecute(strJson);
 
            JSONObject dataJsonObj = null;
            OrderData = new ArrayList<>();
            String name,price,description,picture;
            int id;
 
            try {
                dataJsonObj = new JSONObject(strJson);
                JSONArray events = dataJsonObj.getJSONArray("events");
                for (int i = 0; i < events.length(); i++) {
                    JSONObject partnerItem = events.getJSONObject(i);
 
                    name = partnerItem.getString("name");
                    price = partnerItem.getString("price");
                    id = partnerItem.getInt("id");
                    description = partnerItem.getString("description");
                    picture = partnerItem.getString("picture");
                    OrderData.add(
                            new DataO(
                                    name,
                                    price,
                                    id,
                                    description,
                                    picture
                            )
                    );
 
                    setData();
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
 
    private void setData() {
 
        if(OrderData!=null && OrderData.size()>0) {
            try {
                OrAdapter = new DataAdapter(getActivity(), OrderData);
                gvOrder = (GridView) view.findViewById(R.id.gridView);
                gvOrder.setAdapter(OrAdapter);
                gvOrder.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        modal.show(getFragmentManager(), "Dialog1");
 
                    }
                });
            } catch (NullPointerException ne) {
 
            }
        }
    }
 
 
    public void onButtonPressed(Uri uri) {
        if (mListener != null) {
            mListener.onFragmentInteraction(uri);
        }
    }
 
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
 
    }
 
    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }
 
    public interface OnFragmentInteractionListener {
        void onFragmentInteraction(Uri uri);
    }
 
 
}
фрагмент
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
package com.medkey.medkey;
 
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
 
import java.util.ArrayList;
 
 
public class Dialog1 extends DialogFragment implements OnClickListener {
    private static final String ARG_PARAM1 = "param1";
    private static final String ARG_PARAM2 = "param2";
 
 
    private String mParam1;
    private String mParam2;
    private TextView sumPrice;
    private OnFragmentInteractionListener mListener;
 
    public static Dialog1 newInstance(String param1, String param2) {
        Dialog1 fragment = new Dialog1();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
        fragment.setArguments(args);
        return fragment;
    }
    public Dialog1(){
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Bundle bundle =getArguments();
        if (getArguments() != null) {
            mParam1 = getArguments().getString(ARG_PARAM1);
            mParam2 = getArguments().getString(ARG_PARAM2);
            getArguments();
        }
    }
    public TextView pricemodal;
    public Button btnModal;
    public ImageView orderLogo;
    public TextView description;
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View modal = inflater.inflate(R.layout.modal_fragment, null);
        pricemodal =(TextView)modal.findViewById(R.id.priceModal);
        btnModal=(Button)modal.findViewById(R.id.btnmodal);
        description=(TextView)modal.findViewById(R.id.descriptionModal);
        modal.findViewById(R.id.btnmodal).setOnClickListener(this);
        return modal;
    }
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        }
    }
    @Override
    public void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
 
        //sumPrice = (TextView)MainActivity(R.id.priceMain);
    }
    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }
 
    public interface OnFragmentInteractionListener {
        void onFragmentInteraction(String ololoField);
    }
    public void onClick(View v) {
        sumPrice.setText("1");
        dismiss();
    }
    public void onDismiss(DialogInterface dialog) {
        super.onDismiss(dialog);
 
    }
    public void onCancel(DialogInterface dialog) {
        super.onCancel(dialog);
 
    }
 
}
диалог
Паблито
2014 / 1756 / 546
Регистрация: 12.05.2014
Сообщений: 6,215
Завершенные тесты: 1
07.10.2016, 13:54     Достать значение из ArrayList #4
Java
1
DataO obj = OrderData.get(5); // шестой элемент, так как нумерация идет с 0
талраш
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 33
07.10.2016, 15:45  [ТС]     Достать значение из ArrayList #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
package com.medkey.medkey;
 
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
 
import java.util.ArrayList;
 
 
public class Dialog1 extends DialogFragment implements OnClickListener {
    private static final String ARG_PARAM1 = "param1";
    private static final String ARG_PARAM2 = "param2";
 
 
    private String mParam1;
    private String mParam2;
    private TextView sumPrice;
    private OnFragmentInteractionListener mListener;
 
    public static Dialog1 newInstance(String param1, String param2) {
        Dialog1 fragment = new Dialog1();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
        fragment.setArguments(args);
        return fragment;
    }
    public Dialog1(){
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Bundle bundle =getArguments();
        
        if (getArguments() != null) {
            mParam1 = getArguments().getString(ARG_PARAM1);
            mParam2 = getArguments().getString(ARG_PARAM2);
 
 
        }
    }
    public TextView pricemodal;
    public Button btnModal;
    public ImageView orderLogo;
    public TextView description;
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View modal = inflater.inflate(R.layout.modal_fragment, null);
        pricemodal =(TextView)modal.findViewById(R.id.priceModal);
        btnModal=(Button)modal.findViewById(R.id.btnmodal);
        description=(TextView)modal.findViewById(R.id.descriptionModal);
        modal.findViewById(R.id.btnmodal).setOnClickListener(this);
        return modal;
    }
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        }
    }
    @Override
    public void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
 
        //sumPrice = (TextView)MainActivity(R.id.priceMain);
    }
    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }
 
    public interface OnFragmentInteractionListener {
        
    }
    public void onClick(View v) {
        //sumPrice.setText("1");
        dismiss();
    }
    public void onDismiss(DialogInterface dialog) {
        super.onDismiss(dialog);
 
    }
    public void onCancel(DialogInterface dialog) {
        super.onCancel(dialog);
 
    }
Паблито
2014 / 1756 / 546
Регистрация: 12.05.2014
Сообщений: 6,215
Завершенные тесты: 1
07.10.2016, 15:52     Достать значение из ArrayList #6
кого "их" ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2016, 16:04     Достать значение из ArrayList
Еще ссылки по теме:

Android ArrayList<ListData> определение
Сортировка в ArrayList Android
Android ArrayList contains object
Android Работа с ArrayList
Android arrayList Android

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

Или воспользуйтесь поиском по форуму:
талраш
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 33
07.10.2016, 16:04  [ТС]     Достать значение из ArrayList #7
"Их" это данные из ArrayList c определённым номером, который зависит от выбранного элемента GridView
Yandex
Объявления
07.10.2016, 16:04     Достать значение из ArrayList
Ответ Создать тему
Опции темы

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