Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Renko17
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 55
#1

Обновление listview через Option Menu - Программирование Android

04.01.2017, 21:22. Просмотров 152. Ответов 0
Метки нет (Все метки)

Привет всем! По нажатию на Menu item (Edit) в дефалтном лайауте листа должен появляться невидимый элемент и обновляться listview. Help!!
http://www.cyberforum.ru/android-dev/thread2226439.html

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
public class MyQuestions extends Fragment{
 
    ListView listview;
    public static List<ParseObject> ob;
    public static List<ParseObject> obj;
    ProgressDialog mProgressDialog;
  ChatsListViewAdapter adapter;
    ChatsListViewAdapter madapter;
  static private List<AllQuestions> AllQuestionslist = null;
   
    Toolbar toolbar;
    static boolean is_edit_click;
 
 
    public void onCreate(Bundle savedInstanceState) {
        setHasOptionsMenu(true);
        super.onCreate(savedInstanceState);
        toolbar = (Toolbar) getActivity().findViewById(R.id.tool_bar);
    }
 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.myquestion_listview_main, container,false);
        listview = (ListView) view.findViewById(R.id.listviewmyquestion);
        return view;
    }
    public void onStart(){
        super.onStart();
        new RemoteDataTask().execute();
    }
   
 
 
 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.my_question, menu);
        final MenuItem EditMenuItem = menu.findItem(R.id.action_my_question_edit);
        final MenuItem DoneMenuItem = menu.findItem(R.id.action_my_question_done);
        EditMenuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
 
            public boolean onMenuItemClick(MenuItem item) {
                EditMenuItem.setVisible(false);
                DoneMenuItem.setVisible(true);
                ChatsListViewAdapter.is_edit_click=true;
                adapter.updateList();
 
 
 
                return false;
            }
        });
 
 
        DoneMenuItem.setVisible(false);
        DoneMenuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
 
            public boolean onMenuItemClick(MenuItem item) {
 
                EditMenuItem.setVisible(true);
                DoneMenuItem.setVisible(false);
                ChatsListViewAdapter.is_edit_click=false;
                adapter.updateList();
 
                return false;
            }
        });
 
        super.onCreateOptionsMenu(menu, inflater);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        switch (item.getItemId()) {
            case R.id.action_my_question_edit:
 
                return true;
            case R.id.action_my_question_done:
 
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
 
 
    class RemoteDataTask extends AsyncTask<Void, Void, Void> {
        @Override
        protected Void doInBackground(Void... params) {
            AllQuestionslist = new ArrayList<AllQuestions>();
 
Загрузка AllQuestionslist 
 
                        AllQuestionslist.add(map);
                    }
            }
            return null;
        }
        //  @Override
        protected void onPostExecute(Void result) {
 
            listview = (ListView) getActivity().findViewById(R.id.listviewmyquestion);
         
            adapter = new ChatsListViewAdapter(getActivity(), AllQuestionslist);
 
 
          
            if (listview!=null) {
                listview.setAdapter(adapter);
              
                listview.setEmptyView(getActivity().findViewById(R.id.emptyElement));
                
            }
 
        }
 
    }
 
}
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
public class ChatsListViewAdapter extends BaseAdapter implements Filterable {
 
    // Declare Variables
    Context context;
    LayoutInflater inflater;
    ImageLoader imageLoader;
    private List<AllQuestions> AllQuestionslist = null;
    private ArrayList<AllQuestions> arraylist;
    Filter filter;
    private ParseObject like_add;
    private ParseUser currentUser;
    private ParseQuery<ParseObject> like_delete;
    
static  boolean is_edit_click;
 
 
 
    public ChatsListViewAdapter(Context context,
                                List<AllQuestions> AllQuestionslist) {
        this.context = context;
        this.AllQuestionslist = AllQuestionslist;
        inflater = LayoutInflater.from(context);
        this.arraylist = new ArrayList<AllQuestions>();
        this.arraylist.addAll(AllQuestionslist);
        imageLoader = new ImageLoader(context);
         currentUser = ParseUser.getCurrentUser();
    }
 
    
 
 
    public class ViewHolder {
        TextView userAskName;
        TextView userAnswerName;
        ImageView userAskImage;
        ImageView userAnswerImage;
        ImageView trash;
 
    }
 
    @Override
    public int getCount() {
        return AllQuestionslist.size();
    }
 
    public void updateList() {
        AllQuestionslist.clear();
        is_edit_click=true;
        AllQuestionslist.addAll(arraylist);
        this.notifyDataSetChanged();
    }
 
    @Override
    public Object getItem(int position) {
        return AllQuestionslist.get(position);
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    public View getView(final int position, View view, ViewGroup parent) {
 
        final ViewHolder holder;
        if (view == null) {
            holder = new ViewHolder();
                view = inflater.inflate(R.layout.my_question_listview_item_closed, null);
            
            // Locate the TextViews in listview_item.xml
            //holder.rank = (TextView) view.findViewById(R.id.rank);
            ////////////////////////////////////////////////////////////////////////////////////////
            
            ///////////////////////////////////////////////////////////////////////////////////////
            
                holder.trash = (ImageView) view.findViewById(R.id.chats_trash);
            if (is_edit_click)
                    holder.trash.setVisibility(View.VISIBLE);
                else
            holder.trash.setVisibility(View.GONE);
 
 
                holder.userAskImage = (ImageView) view.findViewById(R.id.userask);
                holder.userAnswerImage = (ImageView) view.findViewById(R.id.useranswer);
                holder.userAskName = (TextView) view.findViewById(R.id.user_ask_name_txt);
                holder.userAnswerName = (TextView) view.findViewById(R.id.user_answer_name_txt);
                
 
            
                holder.userAskName.setText(AllQuestionslist.get(position).getUser_Ask_Name());
                holder.userAnswerName.setText(AllQuestionslist.get(position).getUser_Answer_Name());
                imageLoader.DisplayImage(AllQuestionslist.get(position).getUserAskProfileImage(), holder.userAskImage);
                imageLoader.DisplayImage(AllQuestionslist.get(position).getUserAnswerProfileImage(), holder.userAnswerImage);
            }
 
        
        return view;
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2017, 21:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Обновление listview через Option Menu (Программирование Android):

Обновление listview
Добрый день, у меня listview выводится через адаптер. По нажатию на чекбокс,...

Обновление ListView
Доброго времени суток. Недавно столкнулся с такой проблемой. В активити есть...

Обновление ListView
Есть активити с ListView с записями из БД. Записи добавляются в onCreate()...

ListView обновление
Пытаюсь запилить органайзер, сделал добавление в базу и вывод в ListView. Но...

Обновление ListView в таймере
Здравствуйте, не могу понять почему listview не обновляется каждую секунду....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2017, 21:22
Привет! Вот еще темы с решениями:

Периодическое обновление ListView
Привет всем! Есть задача, вывести на экран список, данные берутся с сервера, а...

Обновление фрагмента с ListView в ViewPager
Есть класс фрагмента, который заполняет адаптер: public class PageFragment...

Обновление ListView после добавления записи
Выбираю записи из БД и вывожу их в ListView. В этом же активити есть кнопка...

Обновление ListView при изменении значений в базе SQLite
Доброго времени суток господа. У меня такой вопрос. Как лучше сделать...


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

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

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