1.实现查询系统的下拉列表功能


毕设计划:3月3日——3月10日(周计划)

1.先上运行成功的界面




2.项目目录展示




3.先定义values/strings.xml 将需要选择的数据存到此处

点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3.     <string name="hello">Hello World, spinnerActivity!</string>
  4.     <string name="app_name">SchoolBusSystemTest</string>
  5.     
  6.     <string-array name="startPlace">
  7.         <item>校本部车队</item>
  8.         <item>校本部图书馆前坪</item>
  9.         <item>东塘</item>
  10.         <item>南校区一教学楼前坪</item>
  11.         <item>南校区一升华学生公寓大门</item>
  12.         <item>新校区教学楼南楼</item>
  13.         <item>铁道校区图书馆前坪</item>
  14.         <item>铁道校区办公楼前坪</item>
  15.         <item>湘雅医学院老校区</item>
  16.         <item>湘雅医学院新校区</item>
  17.         <item>杏林小区</item>
  18.     </string-array>

  19.     <string-array name="destination">
  20.         <item>校本部车队</item>
  21.         <item>校本部图书馆前坪</item>
  22.         <item>东塘</item>
  23.         <item>南校区一教学楼前坪</item>
  24.         <item>南校区一升华学生公寓大门</item>
  25.         <item>新校区教学楼南楼</item>
  26.         <item>铁道校区图书馆前坪</item>
  27.         <item>铁道校区办公楼前坪</item>
  28.         <item>湘雅医学院老校区</item>
  29.         <item>湘雅医学院新校区</item>
  30.         <item>杏林小区</item>
  31.     </string-array>
  32. </resources>

4.再定义layout/spinner.xml 设置显示的便签属性

点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:orientation="vertical" android:layout_width="fill_parent"
  4.     android:layout_height="fill_parent">

  5.     <TextView android:layout_width="wrap_content"
  6.         android:layout_height="wrap_content" android:text="请选择出发地 :"
  7.         android:layout_marginTop="10dip" />

  8.     <Spinner android:id="@+id/startPlace" android:layout_width="fill_parent"
  9.         android:layout_height="wrap_content" android:entries="@array/startPlace" />

  10.     <TextView android:layout_width="wrap_content"
  11.         android:layout_height="wrap_content" android:text="请选择目的地 :" />    

  12.     <Spinner android:layout_width="fill_parent"
  13.         android:layout_height="wrap_content" android:id="@+id/destination"
  14.         android:entries="@array/destination" />

  15. </LinearLayout>

5.定义activity src/cn/com/activity/SpinnerActivity.java

点击(此处)折叠或打开

  1. package cn.com.activity;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.AdapterView;
  6. import android.widget.ArrayAdapter;
  7. import android.widget.Spinner;
  8. import android.widget.Toast;
  9. import android.widget.AdapterView.OnItemSelectedListener;

  10. public class SpinnerActivity extends Activity {
  11.     /** Called when the activity is first created. */
  12.     private Spinner spinner1;
  13.     private Spinner spinner2;
  14.     
  15.     @Override
  16.     public void onCreate(Bundle savedInstanceState) {
  17.         super.onCreate(savedInstanceState);
  18.         setContentView(R.layout.spinner    );
  19.         
  20.      // 1.通过I的得到XML中定义的下拉列表
  21.         spinner1 = (Spinner) findViewById(R.id.startPlace);
  22.         spinner2 = (Spinner) findViewById(R.id.destination);

  23.         // 2.准备数组适配器
  24.         ArrayAdapter adapter1 = ArrayAdapter.createFromResource(this,
  25.                 R.array.startPlace, android.R.layout.simple_spinner_item);
  26.         ArrayAdapter adapter2 = ArrayAdapter.createFromResource(this,
  27.                 R.array.destination, android.R.layout.simple_spinner_item);

  28.         // 设置下拉样式
  29.         adapter1.setDropDownViewResource(android.R.layout.simple_spinner_item);
  30.         adapter2.setDropDownViewResource(android.R.layout.simple_spinner_item);

  31.         // 为下拉列表设置适配器
  32.         spinner1.setAdapter(adapter1);
  33.         spinner2.setAdapter(adapter2);
  34.         
  35.         // 为下拉列表绑定事件
  36.         spinner1.setOnItemSelectedListener(new MyItemSelectedListener1());
  37.         spinner2.setOnItemSelectedListener(new MyItemSelectedListener2());

  38.         // 在AndroidManifest.xml进行注册
  39.         
  40.     }
  41.     
  42.     public class MyItemSelectedListener1 implements OnItemSelectedListener {

  43.         @Override
  44.         public void onItemSelected(AdapterView<?> parent, View view,
  45.                 int position, long id) {
  46.             // TODO Auto-generated method stub
  47.             Toast.makeText(
  48.                     SpinnerActivity.this,
  49.                     "选择的出发地:"
  50.                             + parent.getItemAtPosition(position).toString(),
  51.                     Toast.LENGTH_LONG).show();
  52.         }

  53.         @Override
  54.         public void onNothingSelected(AdapterView<?> arg0) {
  55.             // TODO Auto-generated method stub
  56.             
  57.         }
  58.         
  59.     }
  60.     
  61.     public class MyItemSelectedListener2 implements OnItemSelectedListener {

  62.         @Override
  63.         public void onItemSelected(AdapterView<?> parent, View view,
  64.                 int position, long id) {
  65.             // TODO Auto-generated method stub
  66.             Toast.makeText(
  67.                     SpinnerActivity.this,
  68.                     "选择的目的地:"
  69.                             + parent.getItemAtPosition(position).toString(),
  70.                     Toast.LENGTH_LONG).show();
  71.         }

  72.         @Override
  73.         public void onNothingSelected(AdapterView<?> arg0) {
  74.             // TODO Auto-generated method stub
  75.             
  76.         }
  77.     }
  78. }

6.最后在AndroidManifest.xml中配置


点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.       package="cn.com.activity"
  4.       android:versionCode="1"
  5.       android:versionName="1.0">
  6.     <uses-sdk android:minSdkVersion="8" />

  7.     <application android:icon="@drawable/icon" android:label="@string/app_name">
  8.         <activity android:name=".SpinnerActivity"
  9.                   android:label="@string/app_name">
  10.             <intent-filter>
  11.                 <action android:name="android.intent.action.MAIN" />
  12.                 <category android:name="android.intent.category.LAUNCHER" />
  13.             </intent-filter>
  14.         </activity>

  15.     </application>
  16. </manifest>


在开发的过程中遇到了2个问题:

(1) spinner.xml 中
  1.     <TextView android:layout_width="wrap_content"
  2.         android:layout_height="fill_parent" android:text="请选择出发地 :"
  3.         android:layout_marginTop="10dip" />

其中   android:layout_height = "fill_parent"  配置了fill_parent 使得“ 请选择出发地” 字幕覆盖全屏幕 无法看到其他控件

(2) SpinnerActivity.java中 事件处理 出现问题 

    
  1.     public class MyItemSelectedListener1 implements OnItemSelectedListener {

  2.         @Override
  3.         public void onItemSelected(AdapterView<?> parent, View view,
  4.                 int position, long id) {
  5.             // TODO Auto-generated method stub
  6.             Toast.makeText(
  7.                     SpinnerActivity.this,
  8.                     "选择的出发地:"
  9.                             + parent.getItemAtPosition(position).toString(),
  10.                     Toast.LENGTH_LONG).show();
  11.         }

  12.         @Override
  13.         public void onNothingSelected(AdapterView<?> arg0) {
  14.             // TODO Auto-generated method stub
  15.             
  16.         }
  17.         
  18.     }
  19.     
  20.     public class MyItemSelectedListener2 implements OnItemSelectedListener {

  21.         @Override
  22.         public void onItemSelected(AdapterView<?> parent, View view,
  23.                 int position, long id) {
  24.             // TODO Auto-generated method stub
  25.             Toast.makeText(
  26.                     SpinnerActivity.this,
  27.                     "选择的目的地:"
  28.                             + parent.getItemAtPosition(position).toString(),
  29.                     Toast.LENGTH_LONG).show();
  30.         }

  31.         @Override
  32.         public void onNothingSelected(AdapterView<?> arg0) {
  33.             // TODO Auto-generated method stub
  34.             
  35.         }
  36.     }


此处 直接new了接口   OnItemSelectedListener oisl1 = new   OnItemSelectedListener () {}; 导致程序出错


再次,感谢杰子,帮我看出了这个问题。谢谢啦,哈哈。加油 继续学习!


<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(459) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值