Spinner的用法_2 (添加适配器)

1.  添加适配器的主要作用是能够灵活的添加spinner数据

 1 package com.jtl.spinner_2;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import android.os.Bundle;
 7 import android.app.Activity;
 8 import android.view.Menu;
 9 import android.widget.ArrayAdapter;
10 import android.widget.Spinner;
11 import android.widget.SpinnerAdapter;
12 
13 public class MainActivity extends Activity {
14 
15     //定义一个spinner对象
16     //定义一个List对象,用来存放下拉菜单的选项内容
17     Spinner sp1;
18     List list;
19     @Override
20     protected void onCreate(Bundle savedInstanceState) {
21         super.onCreate(savedInstanceState);
22         setContentView(R.layout.activity_main);
23         
24         //list用AraayList实例化
25         //下拉菜单添加内容
26         list=new ArrayList();
27         list.add("安卓1期");
28         list.add("安卓2期");
29         list.add("安卓3期");
30         list.add("安卓4期");
31         list.add("安卓5期");
32         list.add("安卓6期");
33         list.add("安卓7期");
34         
35         
36         sp1=(Spinner) findViewById(R.id.sp_1);
37         //创建一个SpinnerAdapter适配器,
38         SpinnerAdapter adapter=new ArrayAdapter(MainActivity.this ,   //上下文内容
39              android.R.layout.simple_list_item_1,                  //添加下拉菜单布局文件
40             /*textViewResourceId, */                             //添加下拉菜单布局文件
41              list);                                     //下拉菜单数据源
42         //在spinner对象中添加适配器
43         sp1.setAdapter(adapter);
44     }
45 }
46 //xml   布局文件
47 /*
48 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
49     xmlns:tools="http://schemas.android.com/tools"
50     android:layout_width="match_parent"
51     android:layout_height="match_parent"
52     android:gravity="center"
53     android:orientation="horizontal">
54     
55     <TextView android:layout_width="100dp"
56         android:layout_height="wrap_content"
57         android:text="班级:" 
58         android:gravity="center"/>
59 
60     <Spinner
61         android:id="@+id/sp_1"
62         android:layout_width="100dp"
63         android:layout_height="wrap_content"
64         android:gravity="center"
65         />
66 
67 </LinearLayout>
68 
69 
70 */

 

转载于:https://www.cnblogs.com/jingtonglong/p/4791644.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android 为 ListView 添加 Spinner,可以使用自定义的 ListAdapter 来实现。 首先,创建一个自定义的 ListAdapter,继承 BaseAdapter,重写其方法,包括 getCount()、getItem()、getItemId() 和 getView() 方法。 在 getView() 方法,使用布局文件定义每个列表项的布局,并将 Spinner 设置到布局的某个位置。然后,在 Spinner适配器填充 Spinner 选项,并设置 Spinner 的选择事件监听器,以便在选择项时更新 Spinner 的值。 以下是一个示例代码: ```java public class MyListAdapter extends BaseAdapter { private List<MyObject> mObjects; public MyListAdapter(List<MyObject> objects) { mObjects = objects; } @Override public int getCount() { return mObjects.size(); } @Override public Object getItem(int position) { return mObjects.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // 加载布局文件 View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false); // 获取对象 MyObject object = mObjects.get(position); // 设置显示文本 TextView textView = view.findViewById(R.id.text_view); textView.setText(object.getName()); // 设置 Spinner Spinner spinner = view.findViewById(R.id.spinner); ArrayAdapter<String> adapter = new ArrayAdapter<>(parent.getContext(), android.R.layout.simple_spinner_item, object.getOptions()); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // 更新对象的值 object.setSelectedOption(adapter.getItem(position)); } @Override public void onNothingSelected(AdapterView<?> parent) { // Do nothing } }); // 设置 Spinner 的选spinner.setSelection(object.getSelectedOptionIndex()); return view; } } ``` 在这个示例代码,我们创建了一个自定义的 ListAdapter,其每个列表项包含一个 TextView 和一个 Spinner。在 getView() 方法,我们加载了布局文件 R.layout.list_item,然后将对象的名称设置到 TextView 。接着,我们为 Spinner 设置了适配器,并在 Spinner 的选择事件监听器更新了对象的值。最后,我们设置了 Spinner 的选项,以便在列表项正确显示 Spinner 的值。 注意,这个示例代码仅仅是给出了一个思路,具体实现可能因为你的需求而有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值