下拉列表框Spinner
2015-10-23 10:49
337 查看
在AndroidApp应用中,下拉列表框Spinner的使用频次是相当高的,如果你对Spinner陌生,你一定不会对HTML中的SELECT陌生,他们的作用是一样的,都是多选一。我们需要学习Android中的基本控件下拉列表框Spinner。
一、设计登录窗口
打开“res/layout/activity_main.xml”文件。
1、分别从工具栏向activity拖出1个下拉列表框Spinner、1个按钮Button。这2个控件均来自Form Widgets。
2、新建province.xml件。
在“res/values”位置新建province.xml文件。
(1)province.xml文件位置如下图所示:
province.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="provarray">
<item>河南省</item>
<item>河北省</item>
<item>山东省</item>
<item>山西省</item>
</string-array>
</resources>
3、打开activity_main.xml文件。
我们把自动生成的代码修改成如下代码,具体为:
(1)Spinner的id修改为province;
注意:android:entries="@array/provarray",表示Spinner的Items使用的是province.xml中provarray的值。
(2)Buttion的id修改为save,其文本修改为"保存"。
<Spinner
android:id="@+id/province"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:entries="@array/provarray"/>
<Button
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/province"
android:layout_alignParentBottom="true"
android:layout_marginBottom="76dp"
android:layout_marginLeft="23dp"
android:text="@string/save" />
二、单击事件
打开“src/com.genwoxue.spinnerapp/MainActivity.java”文件。
然后输入以下代码:
package com.example.hw;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button btnSave = null;
private Spinner spinProvice = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSave = (Button) super.findViewById(R.id.save);
spinProvice = (Spinner) findViewById(R.id.province);
btnSave.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
String sPro = "";
String sInfo = "";
sPro = spinProvice.getSelectedItem().toString();
sInfo = "省份:"+sPro;
Toast.makeText(getApplicationContext(), sInfo, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
在以上代码中,我们着重分析一下带有浅蓝色背景部分。
1、第①部分
导入与Spinner相关的包。
2、第②部分
声明2个控件变量。
3、第③部分
(1)findViewById()方法完成2个控件的捕获。
(2)“保存”按钮添加单击监听事件:btnSave.setOnClickListener(new SaveOnClickListener())。
4、第④部分
(1)我们新建一个匿名内部类OnClickListener用以实现单击事件监听。
(2)Spinner.getSelectedItem()获取当前选择项的值。
(3)Toast.makeText(getApplicationContext(), sInfo,Toast.LENGTH_SHORT).show()用以显示选择项的提示信息:例如山东省。
一、设计登录窗口
打开“res/layout/activity_main.xml”文件。
1、分别从工具栏向activity拖出1个下拉列表框Spinner、1个按钮Button。这2个控件均来自Form Widgets。
2、新建province.xml件。
在“res/values”位置新建province.xml文件。
(1)province.xml文件位置如下图所示:
province.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="provarray">
<item>河南省</item>
<item>河北省</item>
<item>山东省</item>
<item>山西省</item>
</string-array>
</resources>
3、打开activity_main.xml文件。
我们把自动生成的代码修改成如下代码,具体为:
(1)Spinner的id修改为province;
注意:android:entries="@array/provarray",表示Spinner的Items使用的是province.xml中provarray的值。
(2)Buttion的id修改为save,其文本修改为"保存"。
<Spinner
android:id="@+id/province"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:entries="@array/provarray"/>
<Button
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/province"
android:layout_alignParentBottom="true"
android:layout_marginBottom="76dp"
android:layout_marginLeft="23dp"
android:text="@string/save" />
二、单击事件
打开“src/com.genwoxue.spinnerapp/MainActivity.java”文件。
然后输入以下代码:
package com.example.hw;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button btnSave = null;
private Spinner spinProvice = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSave = (Button) super.findViewById(R.id.save);
spinProvice = (Spinner) findViewById(R.id.province);
btnSave.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
String sPro = "";
String sInfo = "";
sPro = spinProvice.getSelectedItem().toString();
sInfo = "省份:"+sPro;
Toast.makeText(getApplicationContext(), sInfo, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
在以上代码中,我们着重分析一下带有浅蓝色背景部分。
1、第①部分
导入与Spinner相关的包。
2、第②部分
声明2个控件变量。
3、第③部分
(1)findViewById()方法完成2个控件的捕获。
(2)“保存”按钮添加单击监听事件:btnSave.setOnClickListener(new SaveOnClickListener())。
4、第④部分
(1)我们新建一个匿名内部类OnClickListener用以实现单击事件监听。
(2)Spinner.getSelectedItem()获取当前选择项的值。
(3)Toast.makeText(getApplicationContext(), sInfo,Toast.LENGTH_SHORT).show()用以显示选择项的提示信息:例如山东省。
相关文章推荐
- SQLServer性能优化之 nolock,大幅提升数据库查询性能
- SDWebImage缓存清理
- PHP 性能分析第三篇: 性能调优实战
- swift中的文件操作
- 怎么能让div标签里面的p自动换行 [问题点数:30分,结帖人alleni123]
- vim - Run python code in vim editor
- timezone 0.4.3
- Show slave status 详解
- opencv2-第五章-图像处理2
- 深入理解Tagged Pointer
- 书是进入另一个世界的门径--5篇最近阅读好书的短评
- Freemarker 内置函数 数字、字符串、日期格式化用法介绍
- 编码常见问题及解决方式
- 微软算法100题10 翻转句子中单词的顺序
- windows Android 开发环境
- Jquery中$.ajax()方法参数详解
- Flash中启动Linux的方法
- 打开MySQL数据库远程访问的权限
- MySql 5.6.20,安装后无法登陆的解决办法
- UVa 11900 - Boiled Eggs