杂乱之android的Spinner应用

spinner的中文含义为微调器,在android里,其代表的是下拉列表框。它的数据来源是Adapter。

对于一个下拉框来说,那些元素最重要呢?第一:数据来源  第二:展现给用户时候的样式  第三:和用户交互

 

让我们看看代码示例:

 

package cn.com.chenzheng_java; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.Spinner; import android.widget.Toast; import android.widget.AdapterView.OnItemSelectedListener; public class SpinnerActivity extends Activity{ private Spinner spinner; String[]address = new String[]{ "海淀", "海淀黄庄", "中关村", "长城", "圆明园" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.spinner); runWithText(); } /** * 下拉框内容为文本的spinner */ private void runWithText(){ spinner = (Spinner) findViewById(R.id.spinner1); /** * new ArrayAdapter(this,R.layout.spinner_text,address);中的第二个参数R.layout.spinner_text * 必须是一个以TextView为根标签的layout文件!详情请看后台代码,后台代码中会根据该索引获取一个view然后强转成 * TextView类型。 */ ArrayAdapter arrayAdapter = new ArrayAdapter(this,R.layout.spinner_text,address); // 设置弹出的下拉框样式 android.R.layout.simple_spinner_dropdown_item为android为我们提供的一个样式 arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(arrayAdapter); AdapterView.OnItemSelectedListener listener = new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { Toast.makeText(SpinnerActivity.this, address[position], Toast.LENGTH_LONG).show(); } /** * parent 就是我们的spinner */ @Override public void onNothingSelected(AdapterView parent) { Toast.makeText(SpinnerActivity.this, "未返回任何东西", Toast.LENGTH_LONG).show(); } }; spinner.setOnItemSelectedListener(listener ); } }

 

--------------------------------------------------------------

结合代码,我们再来看看前面说的三个重点要素。

第一,数据源:我们是通过ArrayAdapter进行设置的。

第二布局样式:我们可以通过setDropDownViewResource()来为其添加一个特定样式的布局文件索引

 

第三:与用户交互。我们可以通过设置事件监听来完成。这里主要的实现是setOnItemSelectedListener()方法。当用户选择不同的item时触发。

补贴上代码的运行结果:

你可能感兴趣的:(杂乱知识速记)