ListView 中的数据来自 SQLite // 适配器错误

约翰沃尔

TachesFragment.java

package com.example.johnwalls.projet;


import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;

import java.util.ArrayList;


/**
 * A simple {@link Fragment} subclass.
 */
public class TachesFragment extends Fragment {
    private DB base;
    private ListView sp ;

    public TachesFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment

        View view = inflater.inflate(R.layout.fragment_taches, container, false);

        TextView text2 =  view.findViewById(R.id.ta);//Find textview Id
        TextView t1 =     view.findViewById(R.id.t1);
        TextView de1=     view.findViewById(R.id.de1);
        TextView em1=     view.findViewById(R.id.em1);
        String getArgument = getArguments().getString("main");
        text2.setText(getArgument);


        base=new DB(getActivity());

        text2.setText(getArgument);

        sp=(ListView) view.findViewById(R.id.ta);
        ArrayList<Mission> empList=base.MissionList();
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,android.R.id.text1,empList);
        sp.setAdapter(adapter);





        return view;
    }

}

fragment_taches

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"


    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="16dp"
    android:paddingBottom="16dp"
    android:gravity="bottom"
    android:orientation="vertical"
    android:background="@drawable/ee63"

    tools:context="com.example.johnwalls.projet.TachesFragment">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="100dp"
        android:layout_marginBottom="15dp"
        android:layout_marginRight="10dp"
        android:layout_marginLeft="10dp"

        android:id="@+id/ta"

        />


</android.support.v4.widget.DrawerLayout>

simple_list_item_1

<?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:paddingTop="5dp"
    android:paddingBottom="5dp"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"

    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/t1"
        android:textSize="20dp"
        android:text=""
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/de1"
        android:textSize="10dp"
        android:text=""
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/em1"
        android:textSize="10dp"
        android:text=""
        />


</LinearLayout>

你想达到什么你期望得到什么 你得到了什么(包括错误消息) 你还尝试了什么?你认为是什么原因造成的?为什么你需要为它提出一个新问题?为什么您的问题与此处的其他类似问题不同?

迈克

我相信您的问题是您告诉ArrayAdapterArray of String 对象 ( ArrayAdapter<String>) 但您提供了一组Mission对象ArrayList<Mission> emplist=base.MissionList();

即你有

    ArrayList<Mission> empList=base.MissionList(); 
    ArrayAdapter<String> adapter=new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,android.R.id.text1,empList);

相反,我认为你需要:-

    ArrayList<Mission> empList=base.MissionList(); //<<<< NOT CHANGED
    ArrayAdapter<Mission> adapter=new ArrayAdapter<>(getActivity(),android.R.layout.simple_list_item_1,android.R.id.text1,empList);
  • 请注意,任务的toString方法将用于为列表提供数据,如果您没有覆盖该toString方法,结果可能与您预期的不同。例如

com.example.johnwalls.projet.Mission@546789

在这种情况下,您应该创建一个toString方法来返回适当的字符串。

作为一个例子(不要按原样使用),这是一个带有重写toString方法的 TaskData 类:-

public class TaskData {

    private long id;
    private String type, name, owner, expiration;

    public TaskData(long id, String type, String name, String owner, String expiration) {
        this.id = id;
        this.type = type;
        this.name = name;
        this.owner = owner;
        this.expiration = expiration;
    }

    //<<<< Oreridden toString Method Starts here >>>>
    public String toString() {
        return " Typ: " + type + " Name: " + name + " Owner: " + owner + " Until: " + expiration;
    }
    //<<<< End >>>>

    public long getId(){return id;}
    public String getType() {return this.type;}
    public String getName() {return this.name;}
    public String getOwner() {return this.owner;}
    public String getExpiration() {return  this.expiration;}
}
  • 重写的 toString 方法返回一个字符串,该字符串结合了类型名称、所有者和到期时间。例如

    类型:测试名称:Fred所有者:Bert直到:31/12/2018

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android-在Listview中显示来自适配器的数据

使用游标适配器将数据从sqlite显示到listview

如何使用自定义基本适配器和sqlite数据库刷新Listview?

按钮Listview适配器中的showDialog

适配器上的arraylist.remove()删除ListView中的错误项目

如何刷新/更新listView适配器中的数据

使用适配器将Listview填充到Listview中

Android中的ListView和适配器,是否属于适配器设计模式?

如何解决可扩展Listview中的错误“适配器的内容已更改,但ListView没有收到通知”?

SQLite数据适配器不显示数据

即使适配器不为空,ListView也不会显示数据

通过文件或适配器填充SQLite数据库

自定义ListView适配器中的NullPointerException

从Android中的ListView适配器获取TextView

在自定义适配器中遍历ListView

在片段中为ListView设置适配器

在Android中刷新ListView适配器的正确方法

AlertDialog中的Android ListView-设置适配器

ListView适配器中的“ convertView”的作用是什么?

Android ListView中适配器和模板视图的组合

ListView适配器中的findViewById与View Holder模式

listview适配器类中的startActivity失败

Android:从viewPager中的Fragment调用ListView的适配器的getview()

我的Android Listview适配器中的IndexOutOfBoundsException

需要修复我的适配器以在ListView中显示图像

片段的ViewPager中的Listview适配器-如何获取活动

如何在其适配器中刷新android listview

Android:ListView适配器中的业务逻辑?

刷新我的游标适配器中的ListView吗?