当前位置: 首页 > 面试题库 >

我如何通过使用customadapter在带有列表项的列表视图中添加微调器?

爱唯
2023-03-14
问题内容

我正在使用列表视图,并且有很多列表项。我需要为所有列表项添加一个微调框。我正在使用customadapter,我的问题是要添加图像,我们可以使用imageview。对于微调器,我可以使用什么?


问题答案:

这是代码。

package com.android.main;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.Spinner;

public class DemoListSpinnerActivity extends Activity {
    ListView _listview;
    String[] itemsarray=new String[]{"one","two","three"};
    ArrayAdapter<String> adapter;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,itemsarray);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        _listview=(ListView)findViewById(R.id.listView1);
        _listview.setAdapter(new CustomAdapter(this));

    }

    private class CustomAdapter extends BaseAdapter
    {
        LayoutInflater inflater;
        public CustomAdapter(Context  context)
        {
            inflater=LayoutInflater.from(context);
        }

        public int getCount() {
            // TODO Auto-generated method stub
            return 5;
        }

        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        public View getView(int arg0, View convertview, ViewGroup arg2) {
            ViewHolder viewHolder;
            if(convertview==null)
            {
                convertview=inflater.inflate(R.layout.listrow,null);
                viewHolder=new ViewHolder();
                viewHolder.spinner=(Spinner)convertview.findViewById(R.id.spinner1);
                viewHolder.spinner.setAdapter(adapter);
                convertview.setTag(viewHolder);
            }
            else
            {
                viewHolder=(ViewHolder)convertview.getTag();
            }
            return convertview;
        }
        public class ViewHolder
        {
            Spinner spinner;
        }

    }
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<ListView android:layout_height="wrap_content" android:id="@+id/listView1" android:layout_width="match_parent"></ListView>
</LinearLayout>
listrow.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <Spinner android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/spinner1"></Spinner>

</LinearLayout>


 类似资料:
  • 我的目标是从用户输入的“AM”-“PM”字符串格式打印包含24小时十进制格式的进入和退出时间的列表,如以下字符串数组:{6AM#8AM,11AM#1PM,7AM#8PM,7AM#8AM,10AM#12PM,12PM#4PM,1PM#4PM,8AM#9AM} 我在for循环中声明了各个列表,并在循环中为它们赋值,但从代码中得到了以下运行时异常:java。lang.IndexOutOfBoundsEx

  • 我有一个奇怪的场景,每次我从的第一项中的微调器中选择一个值,最后一个项的微调器值与第一项相同。只有当ListView项目总数为5个及以上时,才会发生这种情况。我注释掉了代码,只保留了声明,但它仍在发生。这是Android系统的漏洞吗? 澄清: > 我的ListView的为空 我的微调器的被注释掉。 Android SDK工具版本为22.6.2 Android SDK平台工具是19.0.1 以下是适

  • 如何使用递归在列表的最后添加一个项目?我想通过递归添加列表的最后一个,但不能这样做,因为我通过指针指向最后一个元素,所以它返回添加的元素和最后一个元素,而不是整个列表。

  • 你好。我需要帮助。我想用SharedPreferences在Listview中保存动态添加的项目。我正在添加带有公共void favekle函数的listview项目。我正在向数组列表添加条目

  • 问题内容: 我有一个性别选择列表。 码: 我想使用下拉列表中的图像作为drop-down-icon.jpeg。 我想添加一个按钮代替下拉图标。 怎么做? 问题答案: 在 Firefox中, 您可以将背景图片添加到选项中: 更好的是,您可以像这样将HTML和CSS分开 HTML CSS 在 其他浏览器中 ,唯一的方法是使用某些JS小部件库,例如 jQuery UI ,例如使用Selectable 。

  • 问题内容: 这是一个非常简单的程序: 这是我期望的输出: 但是我得到了这个: 真的有我不来的东西! 问题答案: 你必须做 不 现在可以正常工作: 当您执行类似操作时,您会在一个列表中三次获得相同的列表。 相同的 意思是,当您更改其中之一时,您也会更改所有它们(因为只有一个列表被引用了3次)。 您需要创建三个独立的列表来解决此问题。您可以通过列表理解来做到这一点。您在此处构造一个由独立的空列表组成的