Как использовать SimpleAdapter в другой деятельности - PullRequest
0 голосов
/ 12 сентября 2018

Я хочу использовать SimpleAdapter в DriverActivity. Я создаю Activity_list_layout.xml в макете папки, как это

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/ColType"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Type"/>

    <TextView
        android:id="@+id/ColDate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:text="Date"/>

</LinearLayout>

И создайте файл activity_driver.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">

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

    <TextView
        android:id="@+id/emptyElement"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:text="Please add driver"
        android:gravity="center"
        android:textColor="#525252"
        android:textSize="19.0sp"
        android:visibility="gone" />

</android.support.constraint.ConstraintLayout>

В DriverActivity.java я использую пользовательский вид списка следующим образом.

 public void onResume() {

    super.onResume();
    db = dbHelper.getWritableDatabase();

    String[] queryColumns = new String[]{"_id", DBHelper.COL_TYPE, DBHelper.COL_OPTION_NAME,DBHelper.COL_DATE };

    cursor = db.query(DBHelper.TABLE_NAME, queryColumns, null,null,
           null,null,null);

    HashMap<String,String> map = new HashMap<String,String>();

    String type_name;

    while(cursor.moveToNext())
    {
        type_name=cursor.getColumnName(1);

        map.put("v_type", dbHelper.V_Type(type_name));
        map.put("date", type_name=cursor.getString(4));
        lst_driver.add(map);
    }

    String[] showColumns = new String[]{DBHelper.COL_TYPE, DBHelper.COL_DATE};


    int[] views = new int[] {android.R.id.col, android.R.id.text2};


    adapter = new SimpleAdapter(DriverLicenseActivity.this,lst_driver, android.R.layout.activity_list_layout, showColumns, views);
    lv_driver.setAdapter(adapter);
}

В новом SimpleAdapter android.R.layout.activity_list_layout показывают ошибку. не может восстановить символ android.R.layout.activity_list_layout

Как решить проблему?

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

android.R. используется для доступа к предопределенным классам с помощью Android SDK (макеты / чертежи)

R используется для доступа к пользовательским классам (это означает, что их макеты / чертежи импортируются / создаются пользователем)

В этом случае вы должны использовать

 SimpleAdapter  adapter = new SimpleAdapter(DriverLicenseActivity.this,lst_driver, R.layout.activity_list_layout, showColumns, views);
0 голосов
/ 12 сентября 2018

Просто удалите android на вашем android.R.layout.activity_list_layout. Должно быть так: R.layout.activity_list_layout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...