Android列表视图数据未显示在生产模式APK

时间:2017-02-16 06:26:10

标签: android listview android-custom-view

  

我正在显示带有虚拟数据的课程列表。我正在使用自定义   布局来显示课程。从服务器获取对象列表。   在调试模式或运行应用程序时,一切正常   在设备上。

  

现在当我为生产模式构建签名APK时列表中的数据   没有出现。数据来自服务器,也是   已成功映射到列表中。但它没有出现。

enter image description here

以下是我的自定义布局文件的代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tvCourseName"
    android:gravity="center"
    android:textSize="22sp"
    android:layout_marginStart="15dp"
    android:layout_marginEnd="15dp"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp"
    android:textColor="@color/main"
    android:background="@drawable/background_course_name"
    android:text="@string/english"/>
</RelativeLayout>

以下是适配器的代码。

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

    LayoutInflater inflater = LayoutInflater.from(getContext());
    View view = inflater.inflate(R.layout.course_row_layout,parent,false);

    response = getItem(position);

    tvCourseName = (TextView)view.findViewById(R.id.tvCourseName);
    tvCourseName.setText(response.getTitle());

    return view;
}

3 个答案:

答案 0 :(得分:0)

如果您认为源代码中没有更改任何内容,并且只在发布版本中发生,请检查您的progaurd文件。 在发布版本中试用diable progaurd

将minifyEnabled false放入gradle文件中,然后看看会发生什么。

如果是由progaurd引起的,请尝试保持您的实体类或您的自定义视图不被混淆

答案 1 :(得分:0)

设定值为假

 release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

答案 2 :(得分:-1)

请确保您的模型类使用的是来自 Serializable 的工具,并且类中的每个属性都具有 @SerializedName ,例如:

data class ParcelCategory(
        @SerializedName("created_at")
        val createdAt: String,
        @SerializedName("created_at_jalali")
        val createdAtJalali: String,
        @SerializedName("description")
        val description: String,
        @SerializedName("id")
        val id: Int,
        @SerializedName("inside_pic")
        val insidePic: String,
        @SerializedName("inside_pic_app")
        val insidePicApp: String,
        @SerializedName("is_active")
        val isActive: Int,
        @SerializedName("logo")
        val logo: String,
        @SerializedName("logo_app")
        val logoApp: String,
        @SerializedName("title")
        val title: String,
        @SerializedName("updated_at")
        val updatedAt: String
) : Serializable