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

Обработчик событий для Drop-down в ActionBar. Android Studio - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Сохранить число в поле ввода после нажатия арифметического действия http://www.cyberforum.ru/android-dev/thread1395403.html
Постигаю андроид, ваяю свой 1 калькулятор. Уперся в проблему, но понимаю, как сделать что бы когда пользователь ввел 1 число, оно сохранилось при нажатии какого либо арифметического действия, и...
Программирование Android Создание live wallpaper с автоматическим изменением картинок Здравствуйте. Хочу создать live wallpaper с автоматической сменой случайных картинок из drawable. Перерыв нет, так понимаю, что это делается только через ViewFlipper. Но не могу присоединить к нему... http://www.cyberforum.ru/android-dev/thread1395382.html
Как пользоваться android.test.PerformanceTestCase? Программирование Android
Собственно вопрос в этом и состоит. Пишу под андроид. Обычными модульными тестами пользуюсь постоянно. решил проверить производительность и без труда нагуглил наяндексил...
Программирование Android Как определить стоимость Андроид приложения?
Здравствуйте! Написал обычный калькулятор: + - * . % Сколько он может стоить? Заранее спасибо
Программирование Android Обработка нажатий на пунктах списка в Toolbar http://www.cyberforum.ru/android-dev/thread1395114.html
Привет ребят, кто работал с реализацией Toolbar, не подскажите как реагировать на нажатия в пунктах списка меню? Если не трудно можете подкинуть инфы по этой теме, кроме гугловских доков?
Программирование Android Получение данных с XTML файла Всем привет! Пытаюсь получить данный xtml-файла в приложение. Перепробовал несколько вариантов - пока без результата. Последний вариант должен был работать, но что-то пошло не так. Вот код: public... подробнее

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

Обработчик событий для Drop-down в ActionBar. Android Studio - Программирование Android

15.03.2015, 14:29. Просмотров 457. Ответов 0
Метки (Все метки)

Всем доброго времени суток. Задача такова. Есть список объектов. И для их фильтрации используется выпадающее меню (Drop-down) на ActionBar'е. Излазив весь инет так и не смог найти (или понять) нормальный способ обработать событие изменения значения выпадающего меню.
Идея в том, что список на экране состоит из объектов и при выборе какого-либо фильтра из меню, хотелось бы, чтоб в данный список отображались только те объекты, в которых установлен соответствующий флаг.
Листинг Активити:
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
public class NewsListActivity extends ActionBarActivity implements ActionBar.OnNavigationListener {
 
    private ListView newsListView;
    SpinnerAdapter filterAdapter;
    ActionBar.OnNavigationListener mOnNavigationListener;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_news_list);
 
        ActionBar actionBar = getSupportActionBar();
 
        actionBar.setLogo(R.drawable.home_as_up);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setHomeButtonEnabled(true);
        actionBar.setDisplayHomeAsUpEnabled(true);
 
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
        filterAdapter = ArrayAdapter.createFromResource(this, R.array.filter_name, R.layout.support_simple_spinner_dropdown_item);
 
        mOnNavigationListener = new ActionBar.OnNavigationListener() {
            String[] filtersName = getResources().getStringArray(R.array.filter_name);
 
            @Override
            public boolean onNavigationItemSelected(int i, long l) {
                ListContentFragment newFragment = new ListContentFragment();
                FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
 
                ft.replace(R.id.newsFragment, newFragment, filtersName[i]);
 
                ft.commit();
                return true;
            }
        };
 
        actionBar.setListNavigationCallbacks(filterAdapter, this);
 
        newsListView = (ListView) findViewById(R.id.newsListView);
        NewsAdapter adapter = new NewsAdapter(this, initData());
 
        newsListView.setAdapter(adapter);
    }
 
    private List<NewsItem> initData(){
        List<NewsItem> list = new ArrayList<>();
 
        list.add(new NewsItem("It is My News", "13.03.2015"));
        list.add(new NewsItem("It is Main News", "13.03.2015"));
        list.add(new NewsItem("It is Favorites News", "13.03.2015"));
        list.add(new NewsItem("simply News", "13.03.2015"));
        list.add(new NewsItem("simply News", "13.03.2015"));
        list.add(new NewsItem("News text6", "13.03.2015"));
        list.add(new NewsItem("simply News", "13.03.2015"));
        list.add(new NewsItem("It is My News", "13.03.2015"));
        list.add(new NewsItem("simply News", "13.03.2015"));
        list.add(new NewsItem("It is My News", "13.03.2015"));
        list.add(new NewsItem("It is Favorites News", "13.03.2015"));
 
        return list;
    }
 
    private List<NewsItem> getMyNews(List<NewsItem> list){
        List<NewsItem> myNewsList = new ArrayList<>();
 
        for(int i = 0; i < list.size(); i++){
            if(list.get(i).isMy()){ myNewsList.add(list.get(i)); }
        }
 
        return myNewsList;
    }
 
    private List<NewsItem> getMainNews(List<NewsItem> list){
        List<NewsItem> mainNewsList = new ArrayList<>();
 
        for(int i = 0; i < list.size(); i++){
            if(list.get(i).isMain()){ mainNewsList.add(list.get(i)); }
        }
 
        return mainNewsList;
    }
 
    private List<NewsItem> getFavoriteNews(List<NewsItem> list){
        List<NewsItem> fNewsList = new ArrayList<>();
 
        for(int i = 0; i < list.size(); i++){
            if(list.get(i).isMain()){ fNewsList.add(list.get(i)); }
        }
 
        return fNewsList;
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_news_list, menu);
 
 
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
 
    @Override
    public boolean onNavigationItemSelected(int i, long l) {
        
        return true;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru