java - 安卓 : How to Add ArrayList of object in List View (But not all Attribute)?

标签 java android listview

我创建了一个实体类EventDto

public class EventDTO {
private String eventSourceName;
private String eventTime;
private String eventReason;
private String eventName;


public String getEventSourceName() {
    return eventSourceName;
}

public void setEventSourceName(String eventSourceName) {
    this.eventSourceName = eventSourceName;
}

public String getEventTime() {
    return eventTime;
}

public void setEventTime(String eventTime) {
    this.eventTime = eventTime;
}

public String getEventReason() {
    return eventReason;
}

public void setEventReason(String eventReason) {
    this.eventReason = eventReason;
}

public String getEventName() {
    return eventName;
}

public void setEventName(String eventName) {
    this.eventName = eventName;
}

@Override
public String toString() {
    return "EventDTO{" +
            ", eventSourceName='" + eventSourceName + '\'' +
            ", eventTime='" + eventTime + '\'' +
            ", eventReason='" + eventReason + '\'' +
            ", eventName='" + eventName + '\'' +
            '}';
}

}

我创建了一个 EventDTO 类型的数组列表

public static ArrayList<EventDTO> eventDTOList = new ArrayList<EventDTO>();

我添加了许多事件供引用,例如以下多次。

  eventDTOList.add(eventDTO);

现在我的 ListView 如下

 <LinearLayout
    android:id="@+id/notifications_popup"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="120dp"
    android:orientation="vertical"
    android:background="@drawable/cell_shape_gradient"
    android:visibility="visible"
    android:layout_marginLeft="50dp"
    android:layout_marginRight="50dp"
    >

    <RelativeLayout
        android:id="@+id/minimize_notifications"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@drawable/notification_header_shape_color"
        android:clickable="true"
        >

        <ImageView
            android:id="@+id/cancel_notification"
            android:layout_width="20dp"
            android:layout_height="5dp"
            android:background="@drawable/cancel_notifications"
            android:clickable="true"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="5dp"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="@string/event_notification"
            android:textColor="@color/white"
            android:textStyle="bold"
            android:gravity="center"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="5dp"
           />
    </RelativeLayout>



        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:background="#fbfdfcfc"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            >

            <ListView
                android:id="@+id/eventList"
                android:layout_width="match_parent"
                android:layout_height="match_parent
                android:scrollbarSize="3dp"
                android:smoothScrollbar="true"
                android:layout_marginRight="2dp"
                android:layout_marginLeft="2dp"
                android:scrollbarFadeDuration="3000"
                />
        </RelativeLayout>
</LinearLayout>

现在单击按钮,我将在 ListView 中添加数组列表

 final ListView listview = (ListView) findViewById(R.id.eventList);

                ArrayAdapter<EventDTO> adapter = new ArrayAdapter<EventDTO>(GladiusLiveViewActivity.this, R.layout.listview_text_style, eventDTOList);
                listview.setAdapter(adapter);

但是 Result 包含类名和所有属性名 我只想显示以下两个属性 2.事件源名称 3.事件原因

如何做到这一点。

最佳答案

您需要重写 EventDTO toString()

类似这样的事情

@Override
public String toString(){
return this.getEventSourceName() + " - " + this.getEventReason();
}

问候

关于java - 安卓 : How to Add ArrayList of object in List View (But not all Attribute)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39857886/

相关文章:

java - 为什么我无法在 Android ListView 中选中单个单选按钮

qt - 是否可以仅显示 QML ListView 的某些索引?

java - 打印斐波那契直到用户输入的数字

java - 为什么没有 OutOfMemoryError

java - 用于检索 csrf token 的内置方法

java - 如何确保我的线程/进程在不同的内核上运行

android - 如何在RxJava2的错误返回中发出多个项目?

java - PDFBox 必须使用字体头

java - 如何在SearchView中设置Text?

android - 动态创建的 ListView 项目的 View 持有者模式