0

ArrayAdapterタプルを保持するカスタムを作成しました。タプル内のアイテムの1つを、ページに配置したスピナーに表示されるテキストとして使用します。これが私のコードですArrayAdapter

public class SpinAdapter extends ArrayAdapter<ObjectsForSpinner> {
    private ArrayList<ObjectsForSpinner> _values;
    public ObjectsForSpinner getItem(int position)
    {
        return _values.get(position);
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) 
    {
         TextView label = new TextView(context);
         label.settextColor(Color.BLACK);
         label.setBackgroundColor(Color.TRANSPARENT);
         label.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
         label.setText(_values.get(position).getSpinnerStr());
         return label;
    }
}

_values.get(position).getSpinnerStr()ここでテキストを返します。戻りタイプはStringです。問題は、テキストが完全に表示されないことです。私が戻ったとき、それはなしSales Departmentでしか表示されません。 私も試しましたが、まだ運がありません。この問題を回避する方法を教えてください。SalesDepartment
label.setEllipsize(TruncateAt.END);

4

2 に答える 2

0

私は以前にこの問題に直面したことがあります。問題は、サイズが文字列全体よりも小さいTextView場合、スピナーの内部がスペース文字の後の部分を完全に無視することです。TextViewこれは、からスペース文字を削除して表示することで識別できますString。内に収まる可能性のあるテキストの部分が表示されますTextView。しかし、スペースが戻った瞬間、それらはすべてなくなっています。

于 2012-04-26T12:02:50.390 に答える
0

次のように設定します。

label.setEllipsize(TruncateAt.END);
label.setSingleLine(true);
于 2013-02-01T10:54:33.340 に答える