1下拉列表使用Spinner。
2布局:
<Spinner android:id="@+id/Spinner01"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Spinner>
3实现
1)新增选择内容:String[] m={"A型","B型","O型","AB型","其他"};
2)初始化设配器:
private ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,androidRlayoutsimple_spinner_item,m);
adaptersetDropDownViewResource(androidRlayoutsimple_spinner_dropdown_item); //设置下拉列表的风格
spinnersetAdapter(adapter);//将adapter 添加到spinner中
spinnersetOnItemSelectedListener(new SpinnerSelectedListener()); //添加事件Spinner事件监听
3)新建Spinner监听器
class SpinnerSelectedListener implements OnItemSelectedListener{
public void onItemSelected(AdapterView<> arg0, View arg1, int arg2,
long arg3) {
viewsetText("你选择的值:"+m[arg2]);//设置编辑框为获取到的选择值
}
public void onNothingSelected(AdapterView<> arg0) {
}
}
Android的listview和spinner等组件都采用了MVC模式来 *** 作数据,也就是说,不能直接调用组件类的方法(如add或其他类似的方法)来添加、删除数据。而要通过一个Adapter对象(SimpleAdapter、ArrayAdapter等)来完成这个工作。ListView相当于MVC中的V(视图层),用来显示数据。Adapter对象相当于C(控制层),用来将数据(数组、List)与ListView连接在一起。因此, *** 作数据需要在Adapter对象中进行。如果列表项很复杂,可以自定义Adapter类(一般从BaseAdapter类继承)。然后在Adapter类中添加相应的增加、删除等方法。当然,也可以直接更改数据源(数组或List对象),然后调用Adapter类的notifyDataSetChanged方法来通知Adapter对象数据已经改变。ListView或Spinner会自动更新相应的列表项。最近在写一本关于Android开发的书,里面详细介绍了这个过程,并提供了大量的例子以供参考。
如果你想用spinner的话建议自己定义adapter那个封装好的arrayAdapter不灵活,太恶心了,如果你自定义adapter的话,我感觉就没啥难度了,直接List <Object>list = new ArrayList<Obejct>();那个object就是一个类似于bin的类,你可以通过setValue(),和 setId();把你的值set进去,然后你在选择spinner时就可以拿到下标一般为arg2,然后通过list拿出数据,在getId(),就ok了。
$("#spinner")show();
$ajax({
url:"你的后台地址",
dataType:'json',
success:function(result){
if(resultsuccess){
alert(resultmsg);
$("#spinner")hide();
}else{
}
}
})
现在有父布局LinearLayout id为payItemts
有子布局LinearLayout id为payItem
子布局payItem中包含一个id为accountName的spinner、一个id为payMoney的EditText
在activity中,通过有一个按钮btA,可以动态的往父布局中添加子布局,每点击一次,动态添加一个item
有一个btB,如何通过点击btB获取Activity中所有Spinner的内容?(spinner可能有多个)
现在纠结的点在于:
如
果通过点击btB,在onClick方法中,通过for循环和getChildAt方法获取到每个子布局,再通过findViewById获取到
Spinner,那么就无法获取到Spinner选中的内容了,因为点击了按钮之后,才会执行Spinner的onItemSelected方法是在点击
了btB之后执行的
如果直接在onCreate方法中获取Spinner,那么动态添加的Spinner就无法获取到了
请问该怎么解决啊
在做一个记账APP,有一个功能是添加一笔支出,因为每笔支出可能由多中付款方式组成
所以付款方式那块儿就采用了动态生成,每点击一下按钮,生成一个item,每个item是一个LinearLayout,由一个spinner和一个edittext组成
填写完成之后,点击提交按钮,得到所有item中的付款方式以及金额综合
你好!
首先你要定义一个Spinner,比如其引用是
sp
然后String
str
=
spgetSelectedItem())toString()就获取到了你选中的值。
将str使用到你的textview里就OK了!
我的回答你还满意吗~~
以上就是关于android中如何将下拉列表中获取的值放到其他函数中全部的内容,包括:android中如何将下拉列表中获取的值放到其他函数中、如何获取布局中动态添加的spinner的内容、android spinner 控件 怎么 把显示的数据与选择之后的值分开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)