如何在ListView的项目中显示大字符串?

时间:2018-07-05 14:32:29

标签: android listview multiline

我正在将数据从Fire-base获取到列表视图,但是我得到的字符串很长,并且android中的listView似乎不支持multiLine。
这是我的数据库的样子:DB Pic
layoutFile是:

RelativeLayout 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=".usersMessage">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:singleLine="true"
        android:layout_height="match_parent"></ListView>
</RelativeLayout>

这就是我将数据保存到.java文件中的方式

myRef = FirebaseDatabase.getInstance().getReference().child("AdminMessages");
    mListView=(ListView) findViewById(R.id.listView);
    adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,list);
    mListView.setAdapter(adapter);



    myRef.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            String value=dataSnapshot.getValue(String.class);

            list.add(value);
            adapter.notifyDataSetChanged();
        }

这就是在listView中显示数据的方式:

enter image description here

2 个答案:

答案 0 :(得分:1)

在您的.xml中创建一个layouts folder文件。假设文件名为abc.xml,并且其布局如下所示:

    <?xml version="1.0" encoding="utf-8"?>
<Edittext xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/text1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:background="@color/white_color"
          android:drawablePadding="10dp"
          android:gravity="start"
          android:paddingLeft="5dp"
          android:paddingRight="5dp"
          android:paddingTop="2.5dp"
          android:textAppearance="?android:textAppearanceSmall"
          android:textColor="@color/black_color"
          android:textStyle="normal"/>

现在在您的代码中将android.R.layout.simple_dropdown_item_1line替换为abc.xml

将这些行替换为:

adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,list);
mListView.setAdapter(adapter);

此:

  adapter=new ArrayAdapter<String>(this,R.layout.abc,list);
mListView.setAdapter(adapter);

答案 1 :(得分:0)

您需要将这两行添加到TextView中的item.xml

android:singleLine="true"
android:ellipsize="end"