将自定义EllipsizingTextView添加到布局

时间:2013-03-22 09:43:43

标签: java android

我遇到了android只支持使用2行椭圆化TextView的问题。我在这里找到了解决方案android ellipsize multiline textview

但是现在我的文本视图显示得很奇怪,所以不是:

This is a test...

我的TextView显示

This
is
a

此外,EllipsizingTextView似乎在同一布局中影响另一个TextView,该布局尚未声明为EllipsizingTextView,而是常规TextView。无论如何,这是违规代码:

@Override
public View getView(int position, View itemView, ViewGroup parent) {
    View v = itemView;
    if (v == null) {
        LayoutInflater vi = (LayoutInflater)parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        v = vi.inflate(R.layout.list_item, null);
        LinearLayout layout = (LinearLayout) v.findViewById(R.id.linearLayout1);
        EllipsizingTextView desc = new EllipsizingTextView(parent.getContext());
        desc.setMaxLines(3);
        layout.addView(desc);
        ViewHolder vh = new ViewHolder();
        vh.label = (TextView) v.findViewById(R.id.label);
        vh.img = (ImageView) v.findViewById(R.id.img);
        vh.desc = (EllipsizingTextView) desc;
        vh.dateAdded = (TextView) v.findViewById(R.id.tvDateAdded);
        v.setTag(vh);
    }

和XML:

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_marginRight="0px"
    android:orientation="vertical" >

    <TextView android:text="@+id/TextView01" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:id="@+id/label"
    android:textSize="16sp" android:gravity="center_vertical" android:textColor="#000" android:singleLine="true"
    />
     <TextView
        android:id="@+id/tvDateAdded"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000"
        android:textSize="13sp"

        android:textAppearance="?android:attr/textAppearanceSmall" />

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

确定删除我以编程方式添加ElipsizingTextView的语句并通过XML添加了视图,其元素名称为<com.example.EllipsizingTextView

在以编程方式添加视图时,任何人都知道我做错了什么?