【问题标题】:Android custom layout for AutoCompleteTextViewAutoCompleteTextView 的 Android 自定义布局
【发布时间】:2013-03-26 16:09:23
【问题描述】:

我可能在这里遗漏了一些简单的东西,但我有一个 AutoCompleteTextView 包含一些很长的项目。单击时,它会在 EditText 中正确显示文本并将其跨越几行。

但是,我希望它也出现在弹出窗口的多行中,以便用户可以看到他们正在选择的项目。

这是我的自定义布局:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:ellipsize="none"
    android:maxLines="100"
    android:scrollHorizontally="false" />

这是我对数组和适配器的初始化:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                R.layout.dropdown_item_wrap_line,
                getResources().getStringArray(R.array.building_descriptions));

mBuildingDesc.setAdapter(adapter);

【问题讨论】:

  • 一个元素中需要多行吗?我的意思是 AutoCompleteTextView 中的单个视图应该包含两行,您将使用第二行来显示一些其他信息?我说的对吗?
  • 对不起,不,我的意思是一种环绕而不是切断的视图,我的项目可能很长(例如“Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam ultricies tempus neque, nec egestas erat tincidunt et. ")

标签: android autocompletetextview


【解决方案1】:

我的猜测是您的AutoCompleteTextView 仅限于singleLine,因此使用默认TextView 的自定义布局应该可以很好地工作。

您需要创建一个新的Layout 并将其命名为custom_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/autoCompleteItem"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:textSize="14sp"    
        />

</LinearLayout>

然后在 AutoCompleteTextView 上使用 Adapter 时做

AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete);
ArrayAdapter<String> adapter  = new ArrayAdapter<String>(this, R.layout.custom_item, R.id.autoCompleteItem, StringArray);
textView.setAdapter(adapter);

【讨论】:

  • 无论如何,如果您要获取项目的文本,您可能会遇到问题。所以首先你设置你的 setOnItemClickListener,然后 param View 视图不再是 TextView 而是 LinearLayout。
  • 我不这么认为,我使用了自定义 arrayAdapter,它适用于单行,尽管我没有检查自定义布局。我要在这里检查并更新它:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 2014-06-25
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多