从DB获取详细信息时无法创建布局

时间:2018-03-20 12:03:41

标签: android android-layout

我在创建这样的布局时遇到问题:Layout

我从我的数据库信息中获取了ID,品牌和型号以及图像链接。如何创建这个布局并执行img url并将其放入“框架”?

这是我的ActivyLayout.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.app.demo">

    <ListView
        android:id="@+id/items_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</android.support.constraint.ConstraintLayout>

我的自定义row_layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp">

    <android.support.v7.widget.AppCompatTextView
        android:id="@+id/item_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <android.support.v7.widget.AppCompatTextView
        android:id="@+id/item_brand"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="26sp"/>

    <android.support.v7.widget.AppCompatTextView
        android:id="@+id/item_model"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"/>

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

您需要为此自定义布局文件创建自定义适配器,如下面提到的代码。使用volley进行网络调用并从JSON中的API获取数据,然后将其绑定到自定义适配器。如果您需要详细示例,请按照此处操作。 http://androidkeeda.com/android-custom-listview-with-pagination-like-facebook-feed-using-volley

<强> list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/profilePic"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="@drawable/border"
                android:scaleType="fitCenter"></ImageView>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_gravity="center"
                android:paddingLeft="20dp">

                <TextView
                    android:id="@+id/name"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="20dp"
                    android:text="id"
                    android:textStyle="bold" />

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="20dp"
                    android:text="Brand"/>

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="20dp"
                    android:text="Model"/>
            </LinearLayout>
        </LinearLayout>


    </LinearLayout>

</LinearLayout>

在可绘制文件夹中创建一个文件,如下所示。

<强> border.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >


    <solid android:color="#ffffff" />

    <stroke
        android:width="2dp"
        android:color="@color/colorAccent" />

</shape>