Spinner
易错:
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
这里的第二个参数R.layout.simple_spinner_item还不知道啥意思
运行效果:
点击它
可以进行选择:
新建项目
修改xml的布局和添加控件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Spinner
android:id="@+id/action_bar_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
MainActivity.java
package com.example.spinner;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
private ArrayAdapter<String> adapter;
//这里用Adapter的子类有ArrayAdapter<T>,创建ArrayAdapter,内部存放的是用String字符串类型
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
//这个是Spinner的默认样式
adapter.add("Hello");
adapter.add("ssss");
adapter.add("tttt.yyy");
spinner=findViewById(R.id.bar_spinner);
spinner.setAdapter(adapter);
// spinner.setAdapter()添加一些选项,这个传递进来的是adapter
}
}
//Adapter的子类有ArrayAdapter<T>,BaseAdapter,CursorAdapter