android下拉框
㈠ android 里怎么用adapter写下拉菜单选择
所使用的工具:电脑
开发工具:eclipse for Android , Android Studio
用adapter 写下拉菜单需要我们自己进行自定义,具体步骤如下:
1、自定义类,类成员与需要显示的字段一致;
java">publicclassManufacture{
privateStringname;
publicManufacture(Stringname){
super();
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
}
2、自定义adapter并继承自BaseAdapter实现相应方法,下面是贴出的代码示例:
{
privateList<Manufacture>mList;
privateContextcontext;
//创建有参构造,参数需要传入两个1.自定义类类型的List,上下文参数
publicMnufactureAdapter(List<Manufacture>mList,Contextcontext){
super();
this.mList=mList;
this.context=context;
}
//返回长度位所定义List的长度
@Override
publicintgetCount(){
returnmList.size();
}
//返回位置为自定义list当前位置
@Override
publicObjectgetItem(intposition){
returnmList.get(position)
;
}
//返回条目的ID
@Override
publiclonggetItemId(intposition){
returnposition;
}
//这里getView需方法需要重点说明和注意:
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
//创建一个LayoutInflater并传入上下文
LayoutInflaterlinflater=LayoutInflater.from(context);
//添加自定义item布局到convertView;(item内容和样式通过自定义方式实现)
convertView=linflater.inflate(R.layout.spinner_item_layout,null);
//初始化Item中控件
TextViewtextView=(TextView)convertView.findViewById(R.id.manufacture_list);
//设置控件显示内容
textView.setText(mList.get(position).getName());
returnconvertView;
}
}
3、在activity中需要添加如下代码:
//初始化布局文件中的spinner
SpinnermSpinner=(Spinner)findViewById(R.id.spinner1);
//初始化自定义的List,并往里面添加数据
List<Manufacture>manufacture=newArrayList<Manufacture>();
接着就是添加数据,在项目中我是添加的从网络上下载的数据解析之后进行添加的,具体的添加方式根据具体需要进行添加,我把自己的贴在下面供大家参考:
for(inti=0;i<list.size();i++){
//添加数据源
manufacture.add(newManufacture(list.get(i).getName()));
}
//实例化一个之前自定义的adapter并向里面添加数据
MnufactureAdaptermadapter=newMnufactureAdapter(manufacture,ProctManageActivity.this);
参数说明:第一个参数是添加数据源后的List,第二个是当前activity的上下文。
最后一步,向spinner里面添加数据源
mSpinner.setAdapter(madapter);
㈡ android 怎么在spinner下拉框背景
Spinner控件也是一种列表类型的控件,它的继承关系如下:
Java.lang.Object
↳ Android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<Textends android.widget.Adapter>
↳ android.widget.AbsSpinner
↳ android.widget.Spinner
android.widget.Spinner继承了android.view.ViewGroup类。
在Android的UI开发中,Spinner(下拉列表)总是可以用到的,一个简单的自定义Spinner制作我们只需要记住这重要的五步,一个Spinner就可以应用而生了。
㈢ 安卓下拉框的问题
2.3 系统也有N多定制的地方。 各不相同。
这个软件好像叫 ”cyanogenmod“
如果找不到的话。 弄个“七键开关”从小部件里调出来。
放到桌面上就行了 也有蓝牙 wifi 卫星 2G gprs 等
那个我也用过。 用了一段时间就不觉得好了
㈣ 在Android应用中怎样实现时间选择下拉菜单
你找到Sudoku中的 private void startGame(int i){ Log.d(TAG, "clicked on" + i); Intent intent = new Intent(Sudoku.this,Game.class); intent.putExtra(Game.KEY_DIFFICULTY, i); startActivity(intent);...
㈤ 如何打造Android自定义的下拉列表框控件
实现方式:
1、水平布局一个TextView和一个ImageView(小黑箭头)
2、实现点击ImageView的单击事件,弹出PopupWindow
3、PopupWindow中实现下拉列表
关键代码示例:
1、布局
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView/>
<ImageView />
</LinearLayout>
2、单击事件
image.setBackgroundResource(R.drawable.gerendang_jiantou);
image.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//弹出popupwindow
}
});
3、pupupwindow相关代码
ListView lv = new ListView(this);
adapter = new OptionsAdapter(context, datas); // 根据数据,设置下拉框显示
list.setAdapter(adapter);
/**
* 两种不同长度的下拉框,主要是为了适应屏幕的大小
*/
if (p_width > 0) {
pWindow = new PopupWindow(v, par.getWidth(), 150);
} else {
pWindow = new PopupWindow(v, par.getWidth(), 300);
}
pWindow.setFocusable(true); //能够焦点获得
pWindow.setBackgroundDrawable(new BitmapDrawable()); //设置背景
pWindow.setOutsideTouchable(true); //外部点击关闭
pWindow.update(); //更新位置
㈥ android下拉列表框能自己输入内容吗
android 下拉列表框是不允许输入内容,可以通过代码的形式进行填充数据。
㈦ android 下拉列表
Android的下拉列表是用Spinner 这个类来实现的。
Spinner的使用(分别使用ArrayAdapter和自定义Adapter实现),使用ArrayAdapter进行适配数据:
1:首先定义一个布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
2:建立数据源,使用数组,这些数据将会在Spinner下来列表中进行显示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="spinnername">
<item>北京</item>
<item>上海 </item>
<item>广州</item>
<item>深圳</item>
</string-array>
</resources>
3:接着在Activity中加入如下的代码(使用了系统定义的下拉列表的布局文件,当然也可以自定义)
// 初始化控件
mSpinner = (Spinner) findViewById(R.id.spinner1);
// 建立数据源
String[] mItems = getResources().getStringArray(R.array.spinnername);
// 建立Adapter并且绑定数据源
ArrayAdapter<String> _Adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);
//绑定 Adapter到控件
mSpinner.setAdapter(_Adapter);
㈧ Android Java文件中获取下拉菜单的中用户选择的值 求大佬
在安卓客户端需要添加下拉框,供用户选择他们需要填写的选项。
如果使用资源文件把选项写死的话,只有text一种形式可选,局限太大,因此如果要实现 value - text 这种形式的话,需要单独写一个类 SpinnerOption.java 。
1. 布局文件
<Spinner
android:id="@+id/town_sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
2. 下拉框选项实体 SpinnerOption.java,在Spinner中显示选项的时候,默认会显示每个项(Object)的 toString() 之后的内容,因此重写 toString() 方法,让它输出 text 。
publicclassSpinnerOption{
privateStringvalue="";
privateStringtext="";
publicSpinnerOption(){
value="";
text="";
}
publicSpinnerOption(Stringvalue,Stringtext){
this.value=value;
this.text=text;
}
@Override
publicStringtoString(){
returntext;
}
publicStringgetValue(){
returnvalue;
}
publicStringgetText(){
returntext;
}
}
3. Fragment中:
ArrayList<SpinnerOption>towns;
//准备好下拉框内容
towns=newArrayList<SpinnerOption>();
for(inti=0;i<18;i++){
SpinnerOptionc=newSpinnerOption(i+"",i+"镇");
towns.add(c);
}
townSp=(Spinner)view.findViewById(R.id.town_sp);
//设置Adapter
ArrayAdapter<SpinnerOption>townAdapter=newArrayAdapter<SpinnerOption>(getActivity(),android.R.layout.simple_spinner_item,towns);
townAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
townSp.setAdapter(townAdapter);
//取下拉框的值
postData.put("townId",((SpinnerOption)townSp.getSelectedItem()).getValue());
在取值时要注意,getSelectedItem()得到的是笼统的Object对象而已,还需要把它转换类型为SpinnerOption类才能取值。
完成之后的效果:
㈨ Android之Button 和下拉菜单的结合
只要涉及到下拉列表等的 就要用到数组Array:
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,countries);
spinner.setAdapter(adapter);//把你要显示的列表信息附加到spinner中,
public void onClick(View v)//(View v)这个是什么意思:你的单击事件,里边的view指你所单击的View对象
arg0.setVisibility(View.VISIBLE);//设置属性,可读不可读,可用不可用等;
你要实现在选择下拉菜单中的内容时不显示到Textview中,单击Button后才显示 你可以在选择的监听事件setOnItemSelectedListener中:
textview2.setText("你的血型是:"+countries[arg2]);//textview2显示下拉列表内容 能不能选择后不显示在我点button后再在textview2中显示出来
换成:新建的一个String类型比如str来保存这个信息
str="你的血型是:"+countries[arg2]
在OnClicklistener单击事件的时候把它显示出来呗:
public void onClick(View v)//(View v)这个是什么意思
{
textview.setText("文本框中内容:"+edittext.getText().toString());
textview2.setText(str);
}
希望对你能有所帮助
㈩ Android下拉框绑定数据
报下拉框加载失败说明是json解析错误,看看服务器返回的数据结构,再比对你的解析逻辑,看看哪里有问题