AutoCompleteTextView的下拉视图显示错误宽度

问题描述 投票:0回答:1

我遵循autocompletetextview的官方instruction在我的项目中创建一个新的。我认为这很容易,但是当我运行代码时,我发现结果与我的预期相去甚远。

enter image description here

您可以在图片上看到,当我在文本视图中键入“ f”时,尽管我已经添加了“ setDropDownWidth(100)”,但应该显示“ Franch”的下拉视图仅显示“ Fr ..”。到textview。

我真的很想知道会发生什么以及如何解决。

下面是我的代码:

xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <AutoCompleteTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/countries_list"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        />
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity:

package com.example.autocompletetextview;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainActivity extends AppCompatActivity {
    private static final String[] COUNTRIES = new String[] {
            "Belgium", "France", "Italy", "Germany", "Spain"
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, COUNTRIES);
        AutoCompleteTextView textView = (AutoCompleteTextView)
                findViewById(R.id.countries_list);
        textView.setThreshold(1);
        textView.setDropDownWidth(100);
        textView.setAdapter(adapter);
    }
}
android
1个回答
0
投票

由于此textView.setDropDownWidth(100)而发生。它太小了,所以文本将被换行。

我的解决方案是将其删除,因此自动完成功能将包装您的edittext宽度,或将setDropDownWidth设置为较大的值。

© www.soinside.com 2019 - 2024. All rights reserved.