我有一个id和value的项目,我想将它们添加到微调器中.因此,当我选择项目时,我会得到它的ID.我只能添加如下的itemValue并获取所选的String.
任何人都可以给我解决方案吗?
List<String> list = new ArrayList<String>();
                list.add("item 1");
                list.add("item 2");
                list.add("item 3");
                ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(
                        this, android.R.layout.simple_spinner_item, list);
                dataAdapter
                        .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                final Spinner sp = new Spinner(this);
                sp.setAdapter(dataAdapter);
我的项目中有一个微调器,其中值来自数据库并在微调器中显示.但是我想将一个默认值设置为spinner作为"Select Item",并且需要在数据库旁边添加来自数据库的值.我使用的以下代码是......
码:
  ArrayAdapter<String> adp=new ArrayAdapter<String> (this,android.R.layout.simple_spinner_dropdown_item,arraylist);
  spinner.setAdapter(adp);
在这里,我将从数据库中获取的值作为arraylist添加到spinner&values直接显示.但我想显示一个默认值显示为"选择项目".如何设置.任何人都可以帮我这个..?我想按照下面的图像......

我想创建一个下拉颜色选择器,像这样(抱歉丑陋的图像):

我只需要一些颜色(让我们说6)所以我不需要一个完整的颜色选择器,下拉列表将正常工作.
我知道我必须为Spinner扩展数组适配器并覆盖getDropDownView和getView.
我不知道的是如何创建一个带边框和纯色背景的方框.
我知道我可以在drawable中定义自己的形状.无论如何,我必须在运行时设置背景颜色,所以我还需要更改视图并设置正确的背景颜色.
这是最好的方法吗?谢谢.
我想得到我在我的活动上运行的4个微调器中所选位置的int值.一旦我有了Int值,我想根据这个值循环并写出一个文件到SDCARD,选择IE spinner1项目4,在SD卡上生成文本文件1,2,3,4.
我不确定如何获取用户在每个微调器中单击的位置的int值,但是我想在选择图像按钮时"收集"这些值,目前这是我的代码;
    //used to track spinner value
public int spinner1 = 0;
public int spinner2 = 0;
public int spinner3 = 0;
public int spinner4 = 0;
        etnumber1 = (Spinner) findViewById(R.id.etnumber1);
    etnumber2 = (Spinner) findViewById(R.id.etnumber2);
        etnumber3 = (Spinner) findViewById(R.id.etnumber3);
    etnumber4 = (Spinner) findViewById(R.id.etnumber4);
         etnumber1.setOnItemSelectedListener(this);
 etnumber2.setOnItemSelectedListener(this);
 etnumber3.setOnItemSelectedListener(this);
 etnumber4.setOnItemSelectedListener(this);
 }//end of oncreate
     public void onClick(View v) {
      if (v==imagerun) {
           for (int i=1; i<spinner1; i++){
            //primary callsign
                Toast.makeText(getBaseContext(), String.valueOf(i),
                        Toast.LENGTH_SHORT).show();
                 String fileName = String.valueOf(i) +".txt";   
        File myFile = new File("/sdcard/.working/" +fileName); …当我选择中国作为第一个旋转器中的国家时,我希望看到我想要的第二个旋转器必须显示中国的所有状态它是通过我的编码完成的......但是......!我的查询是这样的,当我从第二个微调器中选择状态时,它会自动将其设置为第二个微调器的第一个值,如果我在第二个微调器中有3个值 - "上海" - "北京" - "南京",当我选择北京时它自动返回为上海..!!帮帮我..!!:)
public class MainActivity extends Activity  implements AdapterView.OnItemSelectedListener
{
    String[] country = { "India", "Pakistan", "China"};
    String[] states_india = { "Delhi", "UP", "Bihar"};
    String[] states_china = { "Shanghai", "Beijing", "Nanjing"};
    String[] states_pak = { "Lahor", "Islamabaad", "Punjab"};
    int fee,tot=0,atot=0;
    Spinner spin0,spin1;
    private RadioGroup radioSexGroup;
    RadioButton r1,button1,button2;
    private EditText edittext1,edittext2;
    String Name;
    private TextView calc,detail;
    private Button clean;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spin0 = (Spinner) findViewById(R.id.spinner1);
        spin0.setOnItemSelectedListener((OnItemSelectedListener) this);
        ArrayAdapter <String> c …我正在创建一个有两个微调器的android活动.我理解如何onItemSelectedListener使用onItemSelected回调函数实现一个微调器:
    public void onItemSelected(AdapterView<?> parent, View view,
                           int pos, long id) {
    Spinner spinner = (Spinner) findViewById(R.id.spinnerOneOfTwo);
    spinner.setOnItemSelectedListener(this);
    //do things with selection...
}
但是,如果我有多个微调器怎么办?在我看来,我需要一个单独的功能,但由于两个微调器都设置为回调,onItemSelected()我不能采取这种方法.有没有办法告诉哪个微调器正在调用该onItemSelected()函数?也许微调器正在调用的参数键之一?然后我可以将其ID设置为我的微调器变量ID的参数?
我知道有一种方法(我绝对不是唯一一个在一个活动中放置多个微调器的人),任何提示都非常感谢!
我已经尝试了很多教程,但我找不到能告诉我如何在动作栏(sherlock版本)中创建微调器的文章,但在右侧.
有办法吗?我是否需要创建其他视图和适配器?我只是想知道在右侧创建旋转器的简单方法,没有别的,只是它.
java android android-spinner actionbarsherlock android-actionbar
我试图将微调器添加到我的操作栏中。我正在使用cusome微调器。这是代码。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/block" >
    <Spinner
        android:id="@+id/action_bar_spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center" />
</RelativeLayout>
这是我在SpinnerAdapter的getView方法中添加的代码,以获取SpinnerAdapter的自定义标题。它是一个文本视图。
android:id="@+id/spinner_title"
        style="@style/text_title"
        android:layout_alignParentRight="true"
        android:ellipsize="end"
        android:gravity="right"
        android:singleLine="true"
        android:text="@string/list_header"
        android:enabled="false" 
一切正常。但是我在微调器的标题下方出现了下划线,并且我想更改微调器标题右侧的三角形的默认灰色。
请指教。
我实现了自定义微调器:
 public class MyAdapter extends ArrayAdapter<String>
        {
                public MyAdapter(Context context, int textViewResourceId,
                            String[] objects) {
                      super(context, textViewResourceId, objects);
                      // TODO Auto-generated constructor stub
                }
                @Override
            public View getDropDownView(int position, View convertView,ViewGroup parent) {
                return getCustomView(position, convertView, parent);
            }
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                return getCustomView(position, convertView, parent);
            }
            public View getCustomView(int position, View convertView, ViewGroup parent) {
                LayoutInflater inflater=getLayoutInflater();
                View row= inflater.inflate(R.layout.spinner, parent, false);
                TextView label=(TextView)row.findViewById(R.id.textView1);
                label.setText(data1[position]);
                ImageView icon=(ImageView)row.findViewById(R.id.imageView1);
                icon.setImageResource(images[position]);
                return row;
                }
       }
并设置为这样的微调器: …
我有一些需要改变背景的Spinners.所以,我有这个xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/iconodesplegableactivar"
 android:state_enabled="true"/>
<item android:drawable="@drawable/iconodesplegable"
android:state_enabled="false" android:state_window_focused="false"/>
</selector>
我对布局文件中设置的Spinners没有任何问题,但是一些微调器是动态生成的.
我如何在动态生成的微调器中使用该xml?setBackground()方法不允许您将xml设置为参数,并且我无法向XML添加ID.
谢谢!