android spinner第一个元素列表

时间:2012-07-24 09:42:12

标签: android spinner

我有以下代码:

spin.setAdapter(new ArrayAdapter<String>(Activity.this,
                                    android.R.layout.simple_spinner_item,result));
spin.setOnItemSelectedListener(new OnItemSelectedListener() {
String selected;
boolean click=false;
int currSelection =spin.getLastVisiblePosition();
public void onItemSelected(
AdapterView<?> parentView,View selectedItemView, int position,long id)
{
   if ((position != 0)){
  //code here
    }
}

点击列表中的第一个元素时,我无法检索该值。 list elements的所有其余部分都按预期工作。

我知道问题在于int值的位置。问题是,如果我没有if条件那么每个类型我开始列表第一个元素弹出即使我没有点击列表中的任何项目。怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

由于你想在点击之后打印列表元素,因此很难使用微调器,因为默认情况下,android会在第0个位置选择微调器中的第一个元素,并且它将打印该元素而不进行选择。

为此,我可以建议您使用Alert Dialog而不是spinner.Use按钮而不是spinner和onClick()按钮创建警报对话框。示例如下所示。

创建微调器项的String数组。

String[] element = {Your element List};
private OnClickListener btn_Listener = new OnClickListener() {

    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
        builder.setTitle("Set your Button Name");

            builder.setSingleChoiceItems(itemsForHindi, -1,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int item) {                             
                            alertDialog.dismiss();
                            selectedParam = element[item].toString(); // Here you can get selected ielement.                                
                        }
                    });
        }           
        alertDialog = builder.create();
        alertDialog.show();
    }
}; 

如果您有任何疑问,请问我。