2017-11-30 18 views
0

私はAndroidコーディングで新しく、ListViewに問題があります。私はタイトルとタイトルの説明を表示しています。私は説明を省略記号にしたいが、私は方法を知らない。Androidリストビュー - ellipsizeサブアイテム

これはactivity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.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="com.example.filip.htecjson.MainActivity"> 

    <ListView 
     android:id="@+id/listView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:footerDividersEnabled="false" 
     android:headerDividersEnabled="false" 
     android:ellipsize="marquee" 
     android:singleLine="true" 
     app:layout_constraintEnd_toEndOf="parent" 
     tools:layout_editor_absoluteY="8dp" /> 
</android.support.constraint.ConstraintLayout> 

ためのコードであり、これは私が使用しているアダプタです:

class MyAdapter extends BaseAdapter { 

    private Context context; 
    private ArrayList<Item> items; 

    public MyAdapter(Context context, ArrayList<Item> items) { 
     this.context = context; 
     this.items = items; 
    } 

    @Override 
    public int getCount() { 
     return items.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return items.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return 0; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     TwoLineListItem twoLineListItem; 

     if (convertView == null) { 
      LayoutInflater inflater = (LayoutInflater) context 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      twoLineListItem = (TwoLineListItem) inflater.inflate(
        android.R.layout.simple_list_item_2, null); 
     } else { 
      twoLineListItem = (TwoLineListItem) convertView; 
     } 

     TextView text1 = twoLineListItem.getText1(); 
     TextView text2 = twoLineListItem.getText2(); 

     text1.setText(items.get(position).getTitle()); 
     text2.setText("" + items.get(position).getDescription()); 

     return twoLineListItem; 
    } 
} 

私はこれを追加しようとしたが、それは限り何もしません。私が言うことができる。

android:ellipsize="marquee" 
android:singleLine="true" 

私は説明を省略することができますか?

答えて

0

getViewメソッドでこの行に変更します。

getLayoutInflater()(R.layout.anthing_to_inflate、親、false)を膨らませます。

+0

申し訳ありませんが、どうすれば変更できますか?私は、getLayoutInflater()メソッドを持つgetView内のオブジェクトを表示しません。 – filipk97

+0

この行を置換してください LayoutInflater inflater =(LayoutInflater)context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); と私の隣に – Ziad

関連する問題