0

我将一些项目显示为列表,我想知道是否有一种方法可以在屏幕右侧为列表中的每个项目添加一个小下拉列表,以提供删除/编辑选项。

那可能吗?现在我列出了这样的事情:

<?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"
        >


<include android:id="@+id/header"
         layout="@layout/header"
         android:layout_height="wrap_content"
         android:layout_width="fill_parent"/>    


<TextView
    android:id="@+id/no_problems"    
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Enter the business(es) you want to plan or choose from your existing list."
    />          


    <ListView
    android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/label"
        android:textSize="20px" >        
    </ListView>

        <Button
    android:id="@+id/add_problem_ok"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="@color/light_best_blue" 
    android:text="Plan a New Business"
    android:layout_marginTop ="15dp"    
    />  
</LinearLayout>

在 listView 我有这个:

<?xml version="1.0" encoding="utf-8"?>

    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="10dp"
        android:textSize="16sp" >
    </TextView>       

谢谢!

4

2 回答 2

2

如果您想看起来不错,请使用quickaction-dialog选项菜单。这里是整个示例quickaction-dialog

于 2012-06-03T11:27:21.603 回答
1

只需在您的列表项布局中添加微调器,然后使用 getView() 方法将适配器设置为 tat 微调器。

例如。你的 list_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
 <TextView android:id="@+id/nameTV" android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:padding="10dp"
        android:textSize="16sp" >
    </TextView>  

<Spinner android:id="@+id/actionSP" android:layout_width="wrap_content"
        android:layout_height="fill_parent" />
</LinearLayout>

然后你的 getView()

    @Override
    public View getView(int position, View view, ViewGroup viewGroup) {
        final ViewHolder viewHolder;

        if (view == null) {
            viewHolder = new ViewHolder();

            view = mInflater.inflate(R.layout.list_item,
                    null);
            viewHolder.nameTV = (TextView) view
                    .findViewById(R.id.nameTV);

            viewHolder.actionSP = (Spinner) view
                    .findViewById(R.id.actionSP);

            ArrayAdapter<String> reasonAdapter = new ArrayAdapter<String>(
                    mApplication, android.R.layout.simple_spinner_item,
                    mYourActionsArray);

            reasonAdapter
                    .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            viewHolder.actionSP.setAdapter(reasonAdapter);

            viewHolder.actionSP
                    .setOnItemSelectedListener(new OnItemSelectedListener() {

                        @Override
                        public void onItemSelected(AdapterView<?> arg0,
                                View arg1, int position, long arg3) {
                        }
                    });
                view.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) view.getTag();
        }

        viewHolder.nameTV.setText("Some Value");

返回视图;}

ViewHolder 类

class ViewHolder {
    TextView nameTV;
    Spinner actionSP;
}
于 2012-06-03T11:23:34.807 回答