0

空の場合、スピナーのドロップダウンを表示したくありません。試しましたが、得られません。誰か助けてください。

コード:

sp.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View arg0, MotionEvent event) {
        // TODO Auto-generated method stub
        //narray is the array. It's having the elements of spinner.
        if (event.getAction() == MotionEvent.ACTION_UP && narray.size() == 0) {
            sp.setPressed(false);
            sp.setSelected(false);
            sp.setAdapter(null);
        }
        return false;
    }       
});
4

2 に答える 2

3

これをコードに追加して、配列サイズが <= 0 であることを確認します

String[] b = {};

    spin = (Spinner) findViewById(R.id.spinner1);

            if (b.length <= 0) {
                spin.setClickable(false);
            }

このコードスピナーが開いていないことを試してください。

編集:

以下のようにします

    spin = (Spinner) findViewById(R.id.spinner1);

    spin.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        if (b.length <= 0) {
            spin.setClickable(false);
            Toast.makeText(StackoneActivity.this,
                    "spinner have no items", Toast.LENGTH_LONG).show();
        }
        return false;
    }
});
于 2013-01-22T06:36:45.157 に答える
0

このコードを試してください。

if(narray.size() >= 0)
sp.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View arg0, MotionEvent event) {
    // TODO Auto-generated method stub
    if (event.getAction() == MotionEvent.ACTION_UP ) {
        sp.setPressed(false);
        sp.setSelected(false);
        sp.setAdapter(null);
    }
    return false;
}       
});
于 2013-01-22T06:39:43.490 に答える