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

Получить JSON и передать все его параметры его в Intent. Использован автофильтр - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как поменять названия кнопок местами в Java? http://www.cyberforum.ru/android-dev/thread1550042.html
есть поле из 5 кнопок с числами(названиями кнопок) от 1 до 5. Помогите написать код для того чтобы менять местами числа(названия) кнопок любую на любую. проблема в запоминании первой кнопки, чтобы в нее засунуть значение второй кнопки.
Программирование Android Реализовать плагины для приложения Всем привет. Не знаю как правельней назвать то что мне нужно, но больше всего подходит плагин. Словом нужно часть ресурсов в внешнии приложения. Такое встречается во многих приложениях, например PhotoGrid. Пользователь сам выбирает дополнение которое ему нужно и устанавливает. После этого, основное приложение должно получить список всех дополнений и предложить выбрать то которое нужно... http://www.cyberforum.ru/android-dev/thread1549963.html
Программирование Android Не открывает картинку через switch case
@Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch(checkedId) { case R.id.radioButton1: ImageView image = (ImageView)findViewById(R.id.imageView); image.setImageResource(R.drawable.osenesen); image.isShown(); ...
Программирование Android NavigationView выделить выбранный элемент
Здравствуйте! Никак не пойму, как в NavigationView выделить пункт меню. menuItem.setChecked(true); doesn't work. Меню строится программно, т.к. заранее неизвестно количество элементов. Вот сам код: public class NavigatorFragment extends Fragment { //private static final String TAG = NavigatorFragment.class.getSimpleName(); private long timetableIds;
Программирование Android Mapsforge kinetic scrooling http://www.cyberforum.ru/android-dev/thread1549696.html
как реализовать kinetic scrooling для mapsforge карты
Программирование Android Подсчет трафика раздельно по двум сим (Андроид < 5.1) Добрый день! Нужна помощь по теме. Я долго искал в интернете, расковырял родной Settings.apk и обнаружил там использование следующих классов import android.net.INetworkStatsService; import android.net.INetworkStatsService.Stub; import android.net.INetworkStatsSession; import android.net.NetworkPolicy; import android.net.NetworkPolicyManager; import android.net.NetworkStats; import... подробнее

Показать сообщение отдельно
Adverte
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 7

Получить JSON и передать все его параметры его в Intent. Использован автофильтр - Программирование Android

12.10.2015, 04:33. Просмотров 343. Ответов 3
Метки (Все метки)

Всем привет. Я тут запутался, помогите разобраться.
Стоит задача выполнить такой функционал: получить данные JSON, один из параметров JSON формирует выпадающий список автозаполнения, по нажатию на элемент данные выбранного элемента должны попасть в Intent

Сейчас сделано применительно к одному параметру "name", он отображается в поле ввода и по готовности берётся из поля ввода и добавляется в Intent. Это работает. Как включить в ответ остальные неотображаемые но полученные в JSON другие параметры ("code", "rname")

Что сделано
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
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.autocomplete);
        
        mText = (TextView)findViewById(R.id.text);
        mAutoComplete = (AutoCompleteTextView) findViewById(R.id.auto_complete);
        ArrayAdapter<String> adapter = new PlacesAutoCompleteAdapter(this, R.layout.list_item);
        mAutoComplete.setAdapter(adapter);
 
        mAutoComplete.setOnItemClickListener(this);  //отрабатывает нажатия на список
    
    }
    
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
        String str = (String) adapterView.getItemAtPosition(position);
        enterClicked(str);
    }
    
    protected void enterClicked(String str) {  
        // TODO Auto-generated method stub
        Intent result = new Intent();
        result.putExtra(TAG, str);
        setResult(RESULT_OK, result);
 
        // TODO - Finish the Activity
        finish();
    }
файл PlacesAutoCompleteAdapter.java запрашивает и обрабатывает JSON, формирует список автозаполнения
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
public class PlacesAutoCompleteAdapter extends ArrayAdapter<String> implements Filterable {
    private ArrayList<String> resultList;
    private ConnectTask bgt;
<..>
   public PlacesAutoCompleteAdapter(Context context, int textViewResourceId) {
        super(context, textViewResourceId);
    }
 
    private ArrayList<String> autocomplete(String input) {
        ArrayList<String> citylist = null;
    
    List<NameValuePair> apiParams = new ArrayList<NameValuePair>(2);
        apiParams.add(new BasicNameValuePair("appKey", "XXXXXXXXXXXXXXXXX"));
        apiParams.add(new BasicNameValuePair("requestText", input));
        bgt = new ConnectTask(MAP_API_URL, "POST", apiParams);  //запрашивает сервер  и получает JSON
        
        try {
            JSONArray cityJSON = bgt.execute().get();
            
            citylist = new ArrayList<String>(cityJSON.length());
            // looping through all citylist
            for (int i = 0; i < cityJSON.length(); i++) {
 
                JSONObject d = cityJSON.getJSONObject(i);
 
                // Storing each json item in variable
 
                String rname = d.getString(REGNAME);
                String srch = d.getString(SEARCH);
                String code = d.getString(CODE);
                String name = d.getString(NAME);
 
                citylist.add(new String(name));  // добавляем один параметр по нему и фильтруем
 
            } //for
        } //try
        catch (Exception e) {
            Log.e("Buffer Error1", "Error converting result " + e.toString());
        }
            return citylist;
    }
 
//ниже в коде реализована работа автофильтра
    @Override
    public int getCount() {
        return resultList.size();
    }
 
    @Override
    public String getItem(int index) {
        return resultList.get(index);
    }
 
    @Override
    public Filter getFilter() {
        Filter filter = new Filter() {
            @Override
            protected FilterResults performFiltering(CharSequence constraint) {
                FilterResults filterResults = new FilterResults();
                if (constraint != null) {
                    // Retrieve the autocomplete results.
                    resultList = autocomplete(constraint.toString());
 
                    // Assign the data to the FilterResults
                    filterResults.values = resultList;
                    filterResults.count = resultList.size();
                }
                return filterResults;
            }
 
            @Override
            protected void publishResults(CharSequence constraint, FilterResults results) {
                if (results != null && results.count > 0) {
                    notifyDataSetChanged();
                }
                else {
                    notifyDataSetInvalidated();
                }
            }};
        return filter;
    }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru