上海地区做旧物回收的网站,在线编辑ppt的网站,微信小程序怎么做免费,做彩页素材的网站Spinner是一种类似于下拉列表的widget。 在这个教程中#xff0c;你将创建一个简单的用于展示星球列表的spinner组件。当选择列表中的一项时#xff0c;将会弹出一个表示所选项的toast信息。下面是具体步骤#xff1a; 1#xff0c;新建一个名为HelloSpinner的项目。 2你将创建一个简单的用于展示星球列表的spinner组件。当选择列表中的一项时将会弹出一个表示所选项的toast信息。下面是具体步骤 1新建一个名为HelloSpinner的项目。 2打开res/layout/main.xml文件并将下面的内容插入进去 ?xml version1.0 encodingutf-8?LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:orientationvertical android:padding10dip android:layout_widthfill_parent android:layout_heightwrap_contentTextView android:layout_widthfill_parent android:layout_heightwrap_content android:layout_marginTop10dip android:textstring/planet_prompt/Spinner android:idid/spinner android:layout_widthfill_parent android:layout_heightwrap_content android:promptstring/planet_prompt//LinearLayout 有一点要注意的是TextView的android:text属性和Spinner的android:prompt属性都引用了相同的字符串资源。这个字符串是被用来做spinner的标题的。当应用于Spinner的时候这个字符串文本将出现在现则列表的的最上部。 3在res/values目录下创建一个stings.xml文件并按如下方式编辑 ?xml version1.0 encodingutf-8?
resources
string nameplanet_promptChoose a planet/string
string-array nameplanets_arrayitemMercury/itemitemVenus/itemitemEarth/itemitemMars/itemitemJupiter/itemitemSaturn/itemitemUranus/itemitemNeptune/itemstring-array
/resources 标签string是前面TextView和Spinner都引用的标题字符串。string-array元素定义了将要在Spinner中列出的字符串列表。 4打开HelloSpinner.java文件并将下面的代码插入到onCreate()方法中 Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Spinner spinner (Spinner) findViewById(R.id.spinner); ArrayAdapterCharSequence adapter ArrayAdapter.createFromResource( this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);
} 在设置main.xml文件作为content view之后又通过findViewById(int)找到Spinner组件。然后createFromResource()方法创建了一个新的ArrayAdapter这个ArrayAdapter将用于初始Spinner列表的字符串数组中的每一个item绑定上。R.array.planets_array ID引用了在上面定义的string_array而android.R.layout.simple_spinner_item这个ID则引用了由系统定义的一个标准spinner样式appearance。然后调用setDropDownViewResource(int)来定义当spinner被打开的时候每一个item的appearancesimple_spinner_dropdown_item是系统定义另一个标准布局。最后通过调用setAdapter(T)ArrayAdapter和它所有的item就关联在一起了。 5通过实现AdapterView.OnItemSelectedListener创建一个内部类。当Spinner中的item被选择的时候这个函数将会提供一个回调方法。下面就是这个内部类 public class MyOnItemSelectedListener implements OnItemSelectedListener { public void onItemSelected(AdapterView? parent,View view, int pos, long id) { Toast.makeText(parent.getContext(), The planet is parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); } public void onNothingSelected(AdapterView? parent) { // Do nothing. } } 这个AdapterView.OnItemSelectedListerer需要onItemSelected()和onNothingSelected()回调方法。前面那个回调方法将在AdapterView中的item被选择的时候调用这时一个Toast信息将会被弹出后面的回调方法会在when a selection disappears from the AdapterView时被调用这个例子中不考虑。 6然后将这个MyOnItemSelectedListener应用到Spinner方法是在onCreate()方法中添加如下代码 spinner.setOnItemSelectedListerner(new MyOnItemSelectedListener() ); 这样就创建了一个MyOnItemSelectedListener匿名内部类并被设为Spinner的监听器。 7运行程序。得到如下结果 转载于:https://www.cnblogs.com/yaozq/archive/2012/03/01/2375057.html