android中如何将下拉列表中获取的值放到其他函数中

android中如何将下拉列表中获取的值放到其他函数中,第1张

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 控件 怎么 把显示的数据与选择之后的值分开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9397257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存