在Spinner上获取所选项目

时间:2014-04-16 14:15:21

标签: android listview

我是android新手,我有一个微调器,一个按钮和一个列表视图。 当我在微调器上选择项目并单击按钮时,列表视图将填充数据库中的数据,但是我在这样做的过程中遇到了问题。

这是我的布局代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:text="Select Color" />

<Spinner
    android:id="@+id/spinner1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"/>

<Button
    android:id="@+id/btn1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="CEK" />

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

这是我的活动

public class help_activity extends Activity implements OnClickListener{

Spinner spinner1;
SQLiteConnector sqlConnect;
ListView lvUsers;
Button b1;
String colors[] = {"Red","Blue","White","Yellow","Black", "Green","Purple","Orange","Grey"};    
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_help);

    lvUsers = (ListView) findViewById(R.id.listView1);
    b1 = (Button) findViewById(R.id.btn1);
    sqlConnect = new SQLiteConnector(this);
    addListenerOnSpinnerItemSelection();
     final Spinner selectSpinner = (Spinner) findViewById(spinner1
             .getSelectedItemPosition());

    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            this, android.R.layout.simple_list_item_1, sqlConnect.getAllRecord());

    b1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            **if (selectSpinner == spinner1.getItemAtPosition(2)) {
                lvUsers.setAdapter(adapter);
            }**
            // TODO Auto-generated method stub

        }
    });





}
public void addListenerOnSpinnerItemSelection() {
        spinner1 = (Spinner) findViewById(R.id.spinner1);

        ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item,colors );
        spinner1.setAdapter(spinnerArrayAdapter);
      }

请告诉我我哪里做错了以及如何解决它们,谢谢

编辑:活动的大胆点是问题

2 个答案:

答案 0 :(得分:1)

这样做。

Spinner spinner = (Spinner)findViewById(R.id.spinnerID);

onclick时如果要检索选定项目,请执行以下操作。

String textOfSpinner = spinner.getSelectedItem().toString();

答案 1 :(得分:1)

在您致电:

之前,您的列表视图不会刷新并显示新内容
adapter.notifyDataSetChanged ()

在检索到要在列表视图中提供的数据后调用此方法