在侦听器中显示微调器

时间:2012-09-05 12:48:31

标签: android spinner

我有Spinner,其第一项是“选择一项”。在其onTouchListener中,我删除了用于ArrayAdapter的数组中的第一项。现在我希望Spinner直接在监听器内打开他的菜单而不需要用户再次接触。

这是我创建微调器的地方:

spinnerCategoria = (Spinner) findViewById(R.id.spinnerCategoria);
spinnerCategoriaArray = new ArrayList<String>();
spinnerCategoriaArray=CpmAnalysisParams.categoria();
spinnerCategoriaArrayAdapter = new ArrayAdapter<String>(this, R.layout.spinner, spinnerCategoriaArray);
spinnerCategoriaArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerCategoria.setAdapter(spinnerCategoriaArrayAdapter);
spinnerCategoria.setSelected(true);
spinnerCategoria.setOnTouchListener(Spinner_OnTouch);
spinnerCategoria.setOnItemSelectedListener(new OnItemSelectedListener() {

    public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
        Spinner spinnerOrdinata=(Spinner) findViewById(R.id.spinnerOrdinata);
        if (arg0.getItemAtPosition(arg2).equals("Grafico a torta")){
            spinnerOrdinata.setEnabled(false);
        }
        else{
            spinnerOrdinata.setEnabled(true);
        }
    }

    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
    }
});

这是他的ontouchlistener:

private View.OnTouchListener Spinner_OnTouch = new View.OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_UP) {

            spinnerCategoriaArrayAdapter=null;
            Spinner spinnerCat=(Spinner)findViewById(R.id.spinnerCategoria);
            spinnerCategoriaArray.remove(0);
            spinnerCategoriaArrayAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.spinner, spinnerCategoriaArray);
            spinnerCategoriaArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinnerCat.setAdapter(spinnerCategoriaArrayAdapter);
            spinnerCat.setOnTouchListener(null);

        }
        return true;
    }
};

0 个答案:

没有答案