androidspinner事件
Ⅰ android开发中,给Spinner中选项设置触发事件,实现不同Activity的跳转
/*实现到支付宝和银联界面的跳转并从两个界面传值*/
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
Intent intent;
private int requestCode;
private Spinner sp;
private String[] data;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
initView();
}
/**
*处理组件的方法
*/
private void initView() {
tv = ((TextView) findViewById(R.id.tv));
//需要适配的View,是"v"
sp = ((Spinner) findViewById(R.id.sp));
//接下来是创建MVC中的"c" controler
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
sp.setAdapter(adapter);
sp.setOnItemSelectedListener(this);
}
private void initData() {//初始化数据
data = new String[]{"请选择","支付宝","银联"};
}
/*
*处理从银联和支付宝返回数据的方法
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (222==requestCode&&resultCode==999){
//说明是从银联页面返回了,读取intent携带的信息
int money=data.getIntExtra("money",0);
tv.setText("付款金额:"+money+"元");
}else if (111==requestCode&&resultCode==888){
//说明是从支付宝页面返回了,读取intent携带的信息
int money=data.getIntExtra("money",0);
int privilege=data.getIntExtra("privilege",0);
tv.setText("付款金额:"+money+"元,优惠金额:"+privilege+"元");
}
}
/*spinner被点击事件的处理*/
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String str=sp.getSelectedItem().toString();
if ("支付宝".equals(str)){
intent=new Intent(this,ZhifubaoActivity.class);
requestCode=111;
}else if ("银联".equals(str)){
intent=new Intent(this,YinlianActivity.class);
requestCode=222;
}else {
return;
}
//如果不需要跳转的页面返回值,下面可以直接用startActivity(intent);
startActivityForResult(intent, requestCode);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
Ⅱ android 如何让spinner第一次加载 禁止
Spinner在初始化时会自动调用一次OnItemSelectedListener事件原因:有人说是Bug,其实这与C#的事件机制类似,这个我也不懂。提供的解决办法:在事件注册之前调用spinner.setSelection(0, true);
Ⅲ android开发中,spinner下拉框的监听事件可以意图跳转吗
java">spinner=(Spinner)findViewById(id.Myspiner);
//建立数据源
String[]mItems=getResources().getStringArray(R.array.languages);
//建立Adapter并且绑定数据源
ArrayAdapter<String>adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,mItems);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//绑定Adapter到控件
spinner.setAdapter(adapter);
//首先确保spinner已经初始化,把这里改一下
spinner.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener(){
...
});
Ⅳ android中spinner如何实现省市二级联动
Androidspinner实现省市二级联动,需要自定义adpter,将数据源绑定到adpter,当点击省时,触发自定义响应事件,改变市,示例如下:
{
privateTextViewtextView;
privateSpinnerprovince;
privateSpinnercity;
/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//String[]provinces=newString[]{"-省份-","河北省","山西省","北京"};
textView=(TextView)this.findViewById(R.id.textView);
province=(Spinner)this.findViewById(R.id.province);
city=(Spinner)this.findViewById(R.id.city);
//(处理省的显示)
//将可选内容与ArrayAdapter的连接(从资源数组文件中获取数据)
ArrayAdapter<CharSequence>adapter=
ArrayAdapter.createFromResource(this,R.array.province,android.R.layout.simple_spinner_item);
//newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,provinces);
//设置下拉列表的风格
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//将数据绑定到Spinner视图上
province.setAdapter(adapter);
//添加条目被选中监听器
province.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener(){
@Override
publicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition,longid){
//parent既是province对象
Spinnerspinner=(Spinner)parent;
Stringpro=(String)spinner.getItemAtPosition(position);
//(处理省的市的显示)
//将默认值与ArrayAdapter连接(从资源数组文件中获取数据)
ArrayAdapter<CharSequence>cityAdapter=ArrayAdapter.createFromResource
(MainActivity.this,R.array.citydefault,android.R.layout.simple_spinner_item);
//newArrayAdapter<CharSequence>
//(MainActivity.this,android.R.layout.simple_spinner_item,cities);
//获取所在省含有哪些市(从资源数组文件中获取数据)
if(pro.equals("河北省")){
cityAdapter=ArrayAdapter.createFromResource
(MainActivity.this,R.array.hb,android.R.layout.simple_spinner_item);
}elseif(pro.equals("北京市")){
cityAdapter=ArrayAdapter.createFromResource
(MainActivity.this,R.array.bj,android.R.layout.simple_spinner_item);
}elseif(pro.equals("山西省")){
cityAdapter=ArrayAdapter.createFromResource
(MainActivity.this,R.array.shx,android.R.layout.simple_spinner_item);
}
//绑定数据到Spinner(City)上
city.setAdapter(cityAdapter);
}
@Override
publicvoidonNothingSelected(AdapterView<?>parent){
}
});
}
}
Ⅳ android 的spinner是一个什么作用的控件
可以使用Button加ListPopupWindow实现和spinner一样的效果,并且可以监听到点击事件(Spinner是不能设置点击事件的)
布局文件,只有一个button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="50dp"
/>
</LinearLayout>
代码
public class MainActivity extends Activity {
private Button button;
private ListPopupWindow popupWindow;
private List<String> strings;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
strings = new ArrayList<String>();
strings.add("item1");
strings.add("item2");
strings.add("item3");
button = (Button)findViewById(R.id.button);
popupWindow = new ListPopupWindow(this);
popupWindow.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,strings));
popupWindow.setAnchorView(button);
popupWindow.setWidth(LayoutParams.WRAP_CONTENT);
popupWindow.setHeight(LayoutParams.WRAP_CONTENT);
popupWindow.setModal(true);
popupWindow.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
button.setText(strings.get(position));
popupWindow.dismiss();
}
});
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.show();
}
});
}
}
Ⅵ android中的spinner.setOnItemSelectedListener监听问题
spinner中列表的第一项是默认被选中的,所以一进来就会执行监听事件。
你可以让第一项不被选中,spinner2.setSelection(0, false).
Ⅶ android开发中怎样获取spinner选中的内容
1、获取选中值要通过spinner的setOnItemSelectedListener()事件来操作,根据spinner绑定值的方式的不一样,获取选中值的方式略有不同。
2、如果没有用实体层绑定数据的话,诸如通过
SimpleAdapter adapter = new SimpleAdapter(
HRInputBase_Activity.this, items, R.layout.sp_item,
new String[] { "text", "value" }, new int[] {
R.id.sp_text, R.id.sp_value });
sp_privince.setAdapter(adapter);
这种方式绑定的。获取的方式为:
TextView ProvinceTxt = (TextView) sp_privince.getSelectedView()
.findViewById(R.id.sp_value); // 得到选中的选项Id
String codeString = ProvinceTxt.getText().toString();
如果使用的是实体层的话,在setOnItemSelectedListener()事件中根据点击的索引值获取相对应的实体类,然后从实体类中获取对应得Code和Value值,相对来说,使用实体层更加的方便,代码整洁。
3、两者都使用的是Adapter数据集的绑定,主要是考察对adapter的知识,可以对这方面多学习一点。
Ⅷ Android spinner点击相同的item怎么触发事件
您好,是这样的:
换成LinkButton就可以。——解决方案——好像触发ItemDataBind事件然后用Button b= (e.Item.FindContorl("Button3") as Button);才能发现button 在模板里的服务器端代码都要事件编写 在用e.item.findcontorl找------解决方案。
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
int index = tmpTabBarController.selectedIndex;
NSString *titleName = nil;
switch (index) {
case 0:
titleName = @"FirstView";
break;
case 1:
titleName = @"SecondView";
break;
case 2:
titleName = @"ThirdView";
break;
default:
break;
}
[viewController setTitle:titleName];
UIImage *image = [UIImage imageNamed:@"clockicon.png"];
[[viewController tabBarItem] setImage:image];
[window addSubview:viewController.view];
[window makeKeyAndVisible];
Ⅸ android开发中,给Spinner中某一个选项设置触发事件,将数据传到下一个界面
typeSpinner.setOnItemSelectedListener(new
OnItemSelectedListener()
{
@Override
public
void
onItemSelected(AdapterView<?>
parent,
View
view,
int
position,
long
id)
{
if
(position
==
1
||
position
==
2)
{
date_text.setVisibility(View.GONE);
et_date.setVisibility(View.GONE);
btn_date.setVisibility(View.GONE);
}
else
{
date_text.setVisibility(View.VISIBLE);
et_date.setVisibility(View.VISIBLE);
btn_date.setVisibility(View.VISIBLE);
}
}
你看你选择的是第几项。
就跳转啊。
至于数据。
跳转界面是Intent,
Intent附带数据就可以了
Ⅹ android spinner怎么用
android中的spinner控件是表示下拉菜单的意思,按照如下步骤使用:
1、首先使用Android studio创建一个项目,如下图:
4、最后去类中绑定控件,并添加数据即可使用。