Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何关闭自定义微调器的下拉列表?_Android_Spinner - Fatal编程技术网

Android 如何关闭自定义微调器的下拉列表?

Android 如何关闭自定义微调器的下拉列表?,android,spinner,Android,Spinner,我有一个自定义微调器,带有一个TextView和两个按钮(用于对ListView进行排序)。一切正常,但调用onClick(从我的一个按钮)事件后,下拉列表不会关闭。我找不到手动关闭它的方法 有人能帮我吗 编辑:这是我的代码 这是微调器的适配器类: public class CategoriesAdapter extends ArrayAdapter<String> { private Activity context; private String[] items;

我有一个自定义微调器,带有一个TextView和两个按钮(用于对ListView进行排序)。一切正常,但调用onClick(从我的一个按钮)事件后,下拉列表不会关闭。我找不到手动关闭它的方法

有人能帮我吗

编辑:这是我的代码

这是微调器的适配器类:

public class CategoriesAdapter extends ArrayAdapter<String> {
    private Activity context;
    private String[] items;
    private ViewMoviesAdapter moviesAdapter;
    private Spinner spinner;
    private TextView txtCategories;    

    public CategoriesAdapter(Activity context, int textViewResourceId, String[] items,
        ViewMoviesAdapter moviesAdapter, Spinner spinner) {
        super(context, textViewResourceId, items);
        this.context = context;
        this.items = items;
        this.moviesAdapter = moviesAdapter;
        this.spinner = spinner;
    }

    // this method gets called in getView and getDropDownView
    public View getCustomView(int position, View convertView, ViewGroup parent) {

        View view = convertView;
        if (view == null) {
            LayoutInflater vi = (LayoutInflater) context.getSystemService(
                    Context.LAYOUT_INFLATER_SERVICE);
            view = vi.inflate(R.layout.row_spinner_categories, parent, false);
        }


        txtCategories = (TextView)view.findViewById(R.id.rsc_txtCategory);
        txtCategories.setText(items[position]);

        ImageButton imbSortAscending = (ImageButton)view.findViewById(R.id.rsc_imbUp);
        ImageButton imbSortDescending = (ImageButton)view.findViewById(R.id.rsc_imbDown);

        switch(position) {
            case 0:
                imbSortAscending.setOnClickListener(onIndexAscendingClick);
                imbSortDescending.setOnClickListener(onIndexDescendingClick);
                break;
            case 1:
                imbSortAscending.setOnClickListener(onNameAscendingClick);
                imbSortDescending.setOnClickListener(onNameDescendingClick);
                break;
            case 2:
                imbSortAscending.setOnClickListener(onWatchingDateAscendingClick);
                imbSortDescending.setOnClickListener(onWatchingDateDescendingClick);
                break;
        }

        return view;
    }

    private OnClickListener onNameAscendingClick = new OnClickListener() {

        @Override
        public void onClick(View v) {
                moviesAdapter.sort(new NameAscending());
        }
    };
}
spnCategories = (Spinner)findViewById(R.id.vmlL_spnCategory);
categoriesAdapter = new CategoriesAdapter(this, R.layout.row_spinner_categories,
        categoryItems, moviesAdapter, spnCategories);
spnCategories.setAdapter(categoriesAdapter);