Francis学习笔记四
--------------------------------Spinner与Adapter
1.下拉选择控件Spinner;
2.事件监听;
一、关系说明图:
二、控件spinner学习
附部分源码:
<span style="font-size:24px;">package myapplication.com.myapplication3;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
String[] cities = {"成都", "重庆", "武汉", "深圳"};
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);</span>
<span style="font-size:24px;">
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, cities);
Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner1.setAdapter(adapter);
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
<span> </span>//方法一:如下</span>
<span style="font-size:24px;">// if(position == 0)
// display("第一个被选中了");
// else if(position == 1)
// display("第二个被选中了");</span>
<span style="font-size:24px;"><span> </span>//方法二:直接显示TextView,如果上面的View对象是多个组成,则不用方法二(如下)
display(((TextView)view).getText().toString());
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
private void display(String dp) {
Toast.makeText(this, dp, Toast.LENGTH_SHORT).show();
}
}</span>
说明:
1)注意ArrayAdapter中第二个参数 resource,上面用的是android.layout.simple_spinner_item.
<span style="font-size:32px;"> ArrayAdapter(Context context, @LayoutRes int resource, @NonNull T[] objects)</span>
2)setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View view, int position, long id ){
}
});