相关疑难解决方法(0)

当再次选择当前所选项目时,如何在Android Spinner中获取事件?

我为spinner编写了一个setOnItemSelectedListener,以便在更改微调器项时进行响应.我的要求是当我再次点击当前选择的项目时,应显示一个Toast.如何举办此活动?再次单击当前选定的项目时,微调器没有响应.`

    StorageSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

        @Override
        public void onItemSelected(AdapterView adapter, View v, int i, long lng) {              
            Toast.makeText(getApplicationContext(), (CharSequence) StorageSpinner.getSelectedItem(), Toast.LENGTH_SHORT).show();

        }

        @Override
        public void onNothingSelected(AdapterView arg0) {
            Toast.makeText(getApplicationContext(), "Nothing selected", Toast.LENGTH_SHORT).show();

        }
    });  
Run Code Online (Sandbox Code Playgroud)

android

56
推荐指数
7
解决办法
6万
查看次数

Spinner:当选定项保持不变时,不会调用onItemSelected

我有一个OnItemSelectedListenerfor my Spinner,但是当所选项目与前一个项目相同时,它不会被调用.显然,OnClickListener这不是一个选项Spinner.每次用户点击某个项目时我都需要抓住.任何的想法?

也许这SpinnerActionBar扰乱正常行为的事实?

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.tracklist_menu, menu);
    Spinner spinner = (Spinner) menu.findItem(R.id.option_ordering_spinner)
            .getActionView();
    spinner.setAdapter(mSpinnerAdapter);
    spinner.setSelection(PrefsHelper.getOrderingSpinnerPos(prefs));
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            String str = "selected";
            System.out.println(str);
            if (optionMenuInitialized) {

                switch (position) {
                case 0:
                    // rdm
                    getActivity()
                            .sendBroadcast(
                                    new Intent(
                                            MyIntentAction.DO_RESHUFFLE_PLAYLIST));
                    smp.setCurrentTracklistCursorPos(-1);
                    trackAdapter.notifyDataSetChanged();
                    break;
                case 1:
                    // artist
                    getActivity()
                            .sendBroadcast(
                                    new Intent(
                                            MyIntentAction.DO_ORDER_PLAYLIST_BY_ARTIST)); …
Run Code Online (Sandbox Code Playgroud)

android listener spinner actionbarsherlock android-actionbar

45
推荐指数
6
解决办法
3万
查看次数