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

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

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

Android studio передача массива в лист вью - Программирование Android

10.03.2015, 15:46. Просмотров 1058. Ответов 0
Метки нет (Все метки)

у меня не получается вывести в лист вью массив, в чем проблема
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
public class MainActivity extends Activity {
 
первая активность
 
    private ProgressDialog dialog;
    private InputStream is;
    MainActivity2 url;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                //тут указываем куда будем конектится
                new RequestTask().execute("----------------------------");
            }
        });
    }
 
    class RequestTask extends AsyncTask<String, String, String> {
 
        @Override
        protected String doInBackground(String... params) {
 
            try {
                //создаем запрос на сервер
                DefaultHttpClient hc = new DefaultHttpClient();
                ResponseHandler<String> res = new BasicResponseHandler();
                //он у нас будет посылать post запрос
                HttpPost postMethod = new HttpPost(params[0]);
                //будем передавать два параметра
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                //передаем параметры из наших текстбоксов
                
                nameValuePairs.add(new BasicNameValuePair("-----------", "-------------"));
                
                nameValuePairs.add(new BasicNameValuePair("------", "--------"));
 
                //собераем их вместе и посылаем на сервер
                postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                //получаем ответ от сервера
                String response = hc.execute(postMethod, res);
                //посылаем на вторую активность полученные параметры
                Intent intent = new Intent(MainActivity.this, MainActivity2.class);
                //то что куда мы будем передавать и что, putExtra(куда, что);
                intent.putExtra(MainActivity2.JsonURL, response.toString());
                startActivity(intent);
 
                String _Arrblab[] = response.toString().split("-------");
                ArrayList<String> titles=new ArrayList<String>();
 
                for (int i=0 ; i<_Arrblab.length-1; i++)
                {
                    String temArr[] = _Arrblab[i].split("--------");
                    titles.add(temArr[0]);
 
                }
 
                for (int i=0; i<_Arrblab.length-1;i++)
                {
                    System.out.print("Название titles:  "+ titles.get(i) + "\n");
                    String _Titles =titles.get(i);
                }
            } catch (Exception e) {
                System.out.println("Exp=" + e);
 
            }
            return null;
        }
 
        @Override
        protected void onPostExecute(String result) {
 
            dialog.dismiss();
            super.onPostExecute(result);
        }
 
        @Override
        protected void onPreExecute() {
 
            dialog = new ProgressDialog(MainActivity.this);
            dialog.setMessage("Загружаюсь...");
            dialog.setIndeterminate(true);
            dialog.setCancelable(true);
            dialog.show();
            super.onPreExecute();
 
активность обработки и вывода 
 
    public static String JsonURL;
    private static ArrayList<HashMap<String, Object>> myBooks;
 
    private static final String FIRST = "_Titles";
    public ListView list;
 
    public void JSONURL(String result) {
 
 
        try {
            //создали читателя json объектов и отдали ему строку - result
            JSONObject json = new JSONObject(result);
            //дальше находим вход в наш json им является ключевое слово data
            JSONArray urls = json.getJSONArray("_Titles");
 
            //проходим циклом по всем нашим параметрам
            for (int i = 0; i < urls.length(); i++) {
                HashMap<String, Object> hm;
                hm = new HashMap<>();
                //читаем что в себе хранит параметр firstname
                hm.put(FIRST, urls.getJSONObject(i).getString("_Titles"));
 
 
                myBooks.add(hm);
               
                SimpleAdapter adapter = new SimpleAdapter(this,
                        myBooks,
                        R.layout.main_activity2, new String[]{ // массив названий
                        FIRST,         //верхний текст
                                //нижний теккт
                }, new int[]{    //массив форм
                             //наш id TextBox'a в list.xml
                        R.id.text2});    //ссылка на объект отображающий текст
 
                list.setAdapter(adapter);                         //говорим программе что бы отображала все объекты
                list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);  //Даем возможность выбора если есть желание сделать переход на другие формы
            }
 
 
        } catch (JSONException e) {
 
        }
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vivod);
        list = (ListView) findViewById(R.id.list);
        myBooks = new ArrayList<>();
        //принимаем параметр который мы послылали в manActivity
        Bundle extras = getIntent().getExtras();
        //превращаем в тип стринг для парсинга
        String json = extras.getString(JsonURL);
        //передаем в метод парсинга
        JSONURL(json);
    }
Добавлено через 16 часов 21 минуту
разобрался сам, в первой активити нужно было посылать пост запрос и принять массив с данными, а во 2 активити уже разбивать этот же массив и то, что нам нужно выводить в листвью
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2015, 15:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Android studio передача массива в лист вью (Программирование Android):

Поиск по лист вью - Программирование Android
Помогите, кому не сложно, с приложением...не отображается лист вью, и соответственно не производится по нем поиск... хотя, по идее, он...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb? - Программирование Android
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

Android.support.v4.app.FragmentActivity не работает в Android Studio - Программирование Android
объясните пожалуйста,как в андроид студио добавить вышеуказанную библиотеку,чтобы работало у меня вот это Активити package...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете? - Программирование Android
Какую фирму посоветуете?

Запуск игры mr.Nom через Android Studio (по книге марио цехнер программирование игр под android) - Программирование Android
Привет всем! Для тех кто читал книгу - в конце 6ой главы мы закончили писать код игры. В книге написано что - игра готова. Но в самих...

Подключение Android Annotations к Android Studio - Программирование Android
Каким образом это сделать? Есть два .jar файла: androidannotations-3.2.jar androidannotations-api-3.2.jar При подключении через...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2015, 15:46
Привет! Вот еще темы с ответами:

Меню Android Manifest в Android Studio - Программирование Android
Всем привет. Такой вопрос. Перешел c Eclipse на Android Studio и столкнулся со следующим: когда открываешь тот же манифест в AS, то...

Android приложение (Прайс-лист) - Программирование Android
Здравствуйте стоит задача сделать приложения для автосервиса СТО(просто инфа о товарах там бампер-Zwe321 -100руб) чтобы пользователь зашел...

Android Studio - Программирование Android
Здравствуйте. Сейчас изучаю C/C++ (уровень ближе к середнячку). Начинаю изучать Java. Вопрос: можно ли изучать Java используя Android...

Android studio - Программирование Android
Добрый вечер всем. Собственно говоря у меня такой вопрос - кто сталкивался с этим зверем, и насколько он страшен? Хочу начать писать...


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

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

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