Android:如何使用Spinner在自定义列表视图的微调框打开对话框中看起来像textView和Onclick

时间:2014-09-29 12:28:39

标签: android android-layout listview android-spinner

请有人告诉我如何使用微调器设计此布局

这是我的第一个带微调器的屏幕

enter image description here

这是我的屏幕打开对话框,其中包含select city spinner的custon listview onclick

enter image description here

并选择它在第一个屏幕中显示的对话框项目,它是微调器的功能..

任何人都可以建议我如何做到这一点......

提前致谢..

3 个答案:

答案 0 :(得分:1)

快速修复:

  • 创建自定义相对布局并将微调器放到第一个屏幕上写入pune的位置。使微调器背景透明或与相对布局颜色相同。

  • 从xml:

    设置spinners模式dialogMode

    机器人:spinnerMode ="对话框"

  • 将新的onClickListener设置为相对布局并输入:

    mySpinner.performClick();

  • 最后在您的微调器适配器中定义您的自定义微调器行布局,就像在第二个屏幕中一样。

答案 1 :(得分:0)

您可以按照以下步骤操作。

1)有一个TextView而不是Spinner,RegisterOnclick Listener就可以了。

2)在onClick事件上,启动一个包含列表视图的对话框。 Tutorial

3)从列表视图/对话框中选择项目,在列表视图中再次设置。

答案 2 :(得分:0)

在spinner_layout.xml中使用文本视图指定布局。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<TextView 
    android:id="@+id/id_of_your_textView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

</LinearLayout>

在Adapter类中执行:

//members
    protected Context context;
    protected LayoutInflater inflater;
//constructor
public CustomArrayAdapter(Context context) {
        super(context, resource);
        this.context = context;
        inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
//override method getView
@Override
    public View getView(int position, View convertView, ViewGroup parent) {
            View element = inflater.inflate(R.layout.spinner_layout, parent, false);
            TextView textView = (TextView)element.findViewById(R.id.id_of_your_textView);
            textView.setText("blah-blah");
            return element;
        }

应该够了。 如果您的微调器项目应显示复杂项目,请不要忘记覆盖 getDropDownView(int position,View convertView,ViewGroup parent)方法。