有谁知道,个人微信公众号名字名字叫农二代,的个人微信公众号名字号

怎么给 Spinner 加一个标题?typeSpinner.setPrompt() ? - 开源中国社区
当前访客身份:游客 [
当前位置:
下拉框& 的值都是从数据库中得到的 ,那么怎样给 下拉框 一个默认进入时的 标题呢?& 就像演员 一样。。。& 这里演员& 我是在 String.xml里面写的所以 显示出来了& 但是 它也当成了一个值&& ,也就是 他们分别是 & & && & 类型&&&& 地区&& 演员&& 年份&&&& 下面才显示& 从数据库中搜到的 参数
共有0个答案
更多开发者职位上
有什么技术问题吗?
黛曦葛溪的其它问题
类似的话题2037人阅读
转自:http://www.blogjava.net/crazycoding/archive//353981.html
android里的Spinner其实就是个ComboBox =。=
一。基本使用方法:
main.xml 不多解释
&?xml&version=&1.0&&encoding=&utf-8&?&
&LinearLayout&xmlns:android=&/apk/res/android&
&&&&android:orientation=&vertical&
&&&&android:layout_width=&fill_parent&
&&&&android:layout_height=&fill_parent&
&&&&&android:id&=&&@+id/mySpinner&
&&&&&android:layout_width&=&&fill_parent&
&&&&&android:layout_height&=&wrap_content&
&/LinearLayout&
在string.xml中使用“string-array”定义数据源。
&?xml&version=&1.0&&encoding=&utf-8&?&
&resources&
&&&&&string&name=&app_name&&MySpinnerDemo&/string&
&&&&&string-array&name&=&&phones_array&&
&&&&&&&&&item&iPhone&/item&
&&&&&&&&&item&Android&/item&
&&&&&&&&&item&BlackBerry&/item&
&&&&&/string-array&
&/resources&
Activity类:
package&com.
import&android.app.A
import&android.os.B
import&android.view.V
import&android.widget.AdapterV
import&android.widget.ArrayA
import&android.widget.S
import&android.widget.AdapterView.OnItemSelectedL
&*&Spinner&Demo
&*&@author&Yinger
&*&@time&&下午01:54:59
&*&@mail&melody.
public&class&SpinnerDemo&extends&Activity&{
&&&&Spinner&spinner&=&null;
&&&&String&selected&=&&0&;
&&&&/**&Called&when&the&activity&is&first&created.&*/
&&&&@Override
&&&&public&void&onCreate(Bundle&savedInstanceState)&{
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.main);
&&&&&&&&spinner&=&(Spinner)findViewById(R.id.mySpinner);
&&&&&&&&initMySpinner();
&&&&private&void&initMySpinner()&{
&&&&&&&&ArrayAdapter&CharSequence&&adapter&=&ArrayAdapter.createFromResource(
&&&&&&&&&&&&&&&&this,&R.array.phones_array,
&&&&&&&&&&&&&&&&android.R.layout.simple_spinner_item);
&&&&&&&&adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
&&&&&&&&spinner.setAdapter(adapter);
&&&&&&&&spinner.setPrompt(&test&);
&&&&&&&&spinner.setOnItemSelectedListener(new&SpinnerOnSelectedListener());
&&&&class&SpinnerOnSelectedListener&implements&OnItemSelectedListener{
&&&&&&&&public&void&onItemSelected(AdapterView&?&&adapterView,&View&view,&int&position,
&&&&&&&&&&&&&&&&long&id)&{
&&&&&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&&&&&selected&=&adapterView.getItemAtPosition(position).toString();
&&&&&&&&&&&&System.out.println(&selected===========&&&+&selected);
&&&&&&&&public&void&onNothingSelected(AdapterView&?&&arg0)&{
&&&&&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&&&&&System.out.println(&selected===========&&&+&&Nothing&);
二。debug发现的一个小问题:
Spinner在初始化时会自动调用一次OnItemSelectedListener事件
原因:有人说是Bug,其实这与C#的事件机制类似,懒得说了=。=
提供的解决办法:
个人是通过在事件注册之前调用
spinner.setSelection(0,&true);
但要注意,使用此方法,如果用户选择的也是第一项,那么OnItemSelectedListener事件不会被触发……
三。使用技巧
1.动态添加Spinner的数据源
修改initMySpinner方法,代码如下:
private&void&initMySpinner()&{
&&&&&&&&String[]&phones&=&{&iPhone&,&Android&,&BlackBerry&};
&&&&&&&&ArrayAdapter&String&&adapter&=&new&ArrayAdapter&String&(
&&&&&&&&&&&&&&&&this,&&android.R.layout.&simple_spinner_item,
&&&&&&&&&&&&&&&&phones);
&&&&&&&&adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
&&&&&&&&spinner.setAdapter(adapter);
&&&&&&&&spinner.setPrompt(&test&);
&&&&&&&&spinner.setSelection(0,&true);
&&&&&&&&spinner.setOnItemSelectedListener(new&SpinnerOnSelectedListener());
2.自定义Spinner的Layout,替换掉体统默认的android.R.layout.simple_spinner_item
super easy
my_spinner_item.xml:
&?xml&version=&1.0&&encoding=&utf-8&?&
&TextView&xmlns:android=&/apk/res/android&
&&&&android:layout_width=&fill_parent&&
&&&&android:layout_height=&wrap_content&
&&&&android:textSize=&12dip&&
&&&&android:textColor=&#FF8B1500&&
&&&&android:gravity=&center&&/&
修改adapter:
ArrayAdapter&String&&adapter&=&new&ArrayAdapter&String&(
&&&&&&&&&&&&&&&&this,&&R.layout.my_spinner_item,
&&&&&&&&&&&&&&&&phones);
同理,可自定义layout,替换掉android.R.layout.simple_spinner_dropdown_item
3.同时显示图片和文本
自定义Adapter:
package&com.
import&android.content.C
import&android.graphics.C
import&android.view.G
import&android.view.V
import&android.view.ViewG
import&android.widget.BaseA
import&android.widget.ImageV
import&android.widget.LinearL
import&android.widget.TextV
&*&自定义Adapter
&*&@author&Yinger
&*&@time&&下午03:39:34
&*&@mail&melody.
public&class&MyAdapter&extends&BaseAdapter&{
&&&&private&Context&
&&&&private&int&drawableIDs[];
&&&&private&int&stringIDs[];
&&&&public&MyAdapter(Context&ctx,&int&DrawableIDs[],&int&StringIDs[])
&&&&&&&&this.ctx&=&
&&&&&&&&this.drawableIDs&=&DrawableIDs;
&&&&&&&&this.stringIDs&=&StringIDs;
&&&&public&int&getCount()&{
&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&return&drawableIDs.length&;&
&&&&public&Object&getItem(int&position)&{
&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&return&drawableIDs&[position];&
&&&&public&long&getItemId(int&position)&{
&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&return&
&&&&public&View&getView(int&position,&View&convertView,&ViewGroup&parent)&{
&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&LinearLayout&ll&=&new&LinearLayout(&ctx&);&
&&&&&&&&ll.setOrientation(LinearLayout.&HORIZONTAL&);&
&&&&&&&&ll.setGravity(Gravity.&CENTER_VERTICAL&);&
&&&&&&&&ImageView&iv&=&new&ImageView(&ctx&);&
&&&&&&&&iv.setImageResource(&drawableIDs&[position]);&
&&&&&&&&iv.setLayoutParams(&new&ViewGroup.LayoutParams(100,&40));&
&&&&&&&&ll.addView(iv);&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&TextView&tv&=&new&TextView(&ctx&);&
&&&&&&&&tv.setText(&stringIDs&[position]);&
&&&&&&&&tv.setTextSize(14);&
&&&&&&&&tv.setTextColor(Color.BLUE&);&
&&&&&&&&ll.addView(tv);&
&&&&&&&&return&&
修改initMySpinner方法:
private&void&initMySpinner()&{
&&&&&&&&int[]&phonePics&=&{R.drawable.apple,R.drawable.android,R.drawable.blackberry};
&&&&&&&&int[]&phones&=&{&&&R.string.iphone,&R.string.android,&&R.string.blackberry};
&&&&&&&&MyAdapter&adapter&=&new&MyAdapter(this,phonePics,phones);
&&&&&&&&spinner.setAdapter(adapter);
&&&&&&&&spinner.setPrompt(&test&);
&&&&&&&&spinner.setSelection(0,&true);
运行结果截图:
OK,但使用自定义的Adapter,我们如何来获取选中的文本信息呢?
在MyAdapter中,修改getView方法,添加黄色区域代码如下:
public&View&getView(int&position,&View&convertView,&ViewGroup&parent)&{
&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&LinearLayout&ll&=&new&LinearLayout(&ctx&);&
&&&&&&&&ll.setOrientation(LinearLayout.&HORIZONTAL&);&
&&&&&&&&ll.setGravity(Gravity.&CENTER_VERTICAL&);&
&&&&&&&&ImageView&iv&=&new&ImageView(&ctx&);&
&&&&&&&&iv.setImageResource(&drawableIDs&[position]);&
&&&&&&&&iv.setLayoutParams(&new&ViewGroup.LayoutParams(100,&40));&
&&&&&&&&ll.addView(iv);&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&TextView&tv&=&new&TextView(&ctx&);&
&&&&&&&&tv.setText(&stringIDs&[position]);&
&&&&&&&&tv.setTextSize(14);&
&&&&&&&&tv.setTextColor(Color.BLUE&);&
&&&&&&&&tv.setTag(&&tagTextView&&);&&&&&&&&
&&&&&&&&ll.addView(tv);
&&&&&&& return&&
重写事件中的onItemSelected方法:
//&TODO&Auto-generated&method&stub
&&&&&&&&public&void&onItemSelected(AdapterView&?&&adapterView,&View&view,&int&position,
&&&&&&&&&&&&&&&&long&id)&{
&&&&&&&&&&&&if(adapterView.getId()&==&R.id.mySpinner)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&LinearLayout&ll&=&(LinearLayout)&
&&&&&&&&&&&&&&&&TextView&tv&=&(TextView)ll.findViewWithTag(&&tagTextView&&);&
&&&&&&&&&&&&&&&&String&str&=&(String)tv.getText();&
&&&&&&&&&&&&&&&&System.out.println(&selected===========&&&+&str);
&&&&&&&&&&&&}
最后,别忘了注册该事件。=。=
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:25852次
排名:千里之外
原创:26篇
转载:11篇
评论:13条
(12)(10)(1)(8)(3)(3)android中的spinner.setOnItemSelectedListener监听问题-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
android中的spinner.setOnItemSelectedListener监听问题
来源:互联网 发表时间: 22:10:27 责任编辑:王亮字体:
为了帮助网友解决“android中的spinner.setOnItemSelectedListener监听问题”相关的问题,中国学网通过互联网对“android中的spinner.setOnItemSelectedListener监听问题”相关的解决方案进行了整理,用户详细问题包括:
startActivityForResult( TODO Auto-generated method stub
}),SeeInfospinner2.putExtra(&quot,我在网上查了一下;.trim());,但是当程序一启动我还没选就会执行这个监听事件.toString();COMPANY&quot, View arg1.setSelection(0; TODO Auto-generated method stub
Intent intent=new Intent(MyworkA/ arg0?&gt, true); arg0) { &#47,0).this?&;
} @Override public void onNothingSelected(AdapterView& spinner2,有人说加上spinner2, spinner2.class); intent, true)就可以, long arg3) { &#47.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView&lt, int arg2.setSelection(0; 我是这样写的监听事件.getSelectedItem();&#47,但是没效果啊,具体解决方案如下:解决方案1:
所以一进来就会执行监听事件。你可以让第一项不被选中, false),spinner2.setSelection(0spinner中列表的第一项是默认被选中的
追问:解决方案2:
那个是你已经有选择了一个吧。你写的监听是说有选择就要执行了。你用这个吧setOnItemClickListener();
解决方案3:
设置监听的代码和 spinner2.setSelection(0, true) 的位置调换一下。
解决方案4:
setOnItemClickListener(); 换监听。 第三个参数是点击的
解决方案5:
加上spinner2.setSelection(0, true)有用,我就是这样加的就解决问题了
解决方案6:
是spinner2.setSelection(0, false)
1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号

我要回帖

更多关于 微信名字符号 的文章

 

随机推荐