Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法显示listview_Java_Android_Listview - Fatal编程技术网

Java 无法显示listview

Java 无法显示listview,java,android,listview,Java,Android,Listview,我正在尝试从数据库中筛选数据,并使用光标将筛选后的数据显示到列表视图中。不幸的是,查询返回的游标不是空的,但是活动中没有显示项目。此外,logcat中没有显示错误 我的搜索结果。java: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search__results);

我正在尝试从数据库中筛选数据,并使用
光标将筛选后的数据显示到
列表视图中。不幸的是,查询返回的游标不是空的,但是活动中没有显示项目。此外,logcat中没有显示错误

我的搜索结果。java:

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search__results);
    lview = (ListView) findViewById(R.id.list);
    Intent intent = getIntent();
    String from = intent.getStringExtra("from");
    String to = intent.getStringExtra("to");
//    String date = intent.getStringExtra("date");
//    String clas = intent.getStringExtra("class");
        myrailway = new no.nordicsemi.android.nrftoolbox.myRailwayAdapter(this);
//        Cursor cursor = myrailway.getTrainDetails(from, to);
        String[] FROM = null;
        String[] TO = null;
        String[] TRAINNAME = null;
        String[] TRAINNO = null;
        String[] DEPART = null;
        String[] ARRIVAL = null;
        Cursor cursor = myrailway.getTrainDetails(from, to);
        if(cursor != null) {
            Log.e("ERROR","NON EMPTY CURSOR");
            int count = 0;
            if (cursor.moveToFirst()) {
                Log.e("ERROR","ENTERED LOOP");
                do {
                    String stnfrom = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_STNFROM));
                    String stnto = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_STNTO));
                    String trainname = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_NAME));
                    String trainno = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_TRAINNUM));
                    String depart = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_DEPART));
                    String arrival = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_ARRIVAL));
                    FROM[count] = stnfrom;   Log.e("fr",stnfrom);
                    TO[count] = stnto;      Log.e("too",stnto);
                    TRAINNAME[count] = trainname;   Log.e("trainanme",trainname);
                    TRAINNO[count] = trainno;   Log.e("trainno",trainno);
                    DEPART[count] = depart;     Log.e("depart",depart);
                    ARRIVAL[count] = arrival;       Log.e("arrival",arrival);

                count = count + 1;
                cursor.close();
            } while (cursor.moveToNext());

            lviewAdapter = new ListViewAdapter(this, FROM, TO, DEPART, ARRIVAL, TRAINNAME, TRAINNO);

            lview.setAdapter(lviewAdapter);
        }


    }
    else
        Log.e("ERROR","EMPTY CURSOR");

}
   public class ListViewAdapter extends BaseAdapter {
    Activity context;
    String from[];
    String to[];
    String depart[];
    String arrival[];
    String trainname[];
    String trainno[];
    private no.nordicsemi.android.nrftoolbox.myRailwayAdapter myrailway;
    public ListViewAdapter(Activity context, String[] from, String[] to, String[] depart, String[] arrival, String[] trainname, String[] trainno) {
        super();
        this.context = context;
        this.from = from;
        this.to = to;
        this.depart = depart;
        this.arrival = arrival;
        this.trainname = trainname;
        this.trainno = trainno;
    }
    @Override
    public int getCount() {
        return depart.length;
    }

    @Override
    public Object getItem(int i) {
        return depart[i];
    }

    @Override
    public long getItemId(int i) {
        myrailway = new no.nordicsemi.android.nrftoolbox.myRailwayAdapter(this.context);
        Long recc= Long.valueOf(0);
        Cursor c= myrailway.getpass(trainname[i]);
        if(c!=null)
        {
            c.moveToFirst();
            recc=c.getLong(0);
        }
        return recc;
    }

    private class ViewHolder {
        TextView txtfrom;
        TextView txtto;
        TextView txttrainno;
        TextView txttrainname;
        TextView txtdepart;
        TextView txtarrival;

    }
    @Override
    public View getView(int position, View view, ViewGroup viewGroup) {
        ViewHolder holder;
        LayoutInflater inflater =  context.getLayoutInflater();

        if (view == null)
        {
            view = inflater.inflate(R.layout.listview_items, null);
            holder = new ViewHolder();
            holder.txtfrom = (TextView) view.findViewById(R.id.from);
            holder.txtto = (TextView) view.findViewById(R.id.to);
            holder.txttrainno = (TextView) view.findViewById(R.id.trainno);
            holder.txttrainname = (TextView) view.findViewById(R.id.trainname);
            holder.txtdepart = (TextView) view.findViewById(R.id.depart);
            holder.txtarrival = (TextView) view.findViewById(R.id.arrival);
            view.setTag(holder);
        }
        else
        {
            holder = (ViewHolder) view.getTag();
        }

        holder.txtfrom.setText(from[position]);
        holder.txtto.setText(to[position]);
        holder.txttrainno.setText(trainno[position]);
        holder.txttrainname.setText(trainname[position]);
        holder.txtdepart.setText(depart[position]);
        holder.txtarrival.setText(arrival[position]);

        return view;
    }
}
 <RelativeLayout 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="no.nordicsemi.android.nrftoolbox.Search_Results">
        <ListView
            android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

    </RelativeLayout>
<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TableRow>
        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingTop="0dip" android:layout_gravity="top"
            >
            <TableRow>
                <TextView
                    android:id="@+id/from"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1" android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:textColor="#000000"
                    android:layout_span="1"
                    />

                <TextView
                    android:id="@+id/to"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1" android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:textColor="#000000"
                    android:layout_span="1"
                    />
            </TableRow>
            <TableRow>
                <TextView
                    android:text=""
                    android:id="@+id/trainno"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>
                <TextView
                    android:text=""
                    android:id="@+id/trainname"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>

            </TableRow>
            <TableRow>
                <TextView
                    android:text=""
                    android:id="@+id/depart"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>
                <TextView
                    android:text=""
                    android:id="@+id/arrival"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>

            </TableRow>

        </TableLayout>

        <Button
            android:id="@+id/book"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:onClick="book"
            android:text="BOOK">

        </Button>
    </TableRow>

</TableLayout>
我的ListViewAdapter.java:

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search__results);
    lview = (ListView) findViewById(R.id.list);
    Intent intent = getIntent();
    String from = intent.getStringExtra("from");
    String to = intent.getStringExtra("to");
//    String date = intent.getStringExtra("date");
//    String clas = intent.getStringExtra("class");
        myrailway = new no.nordicsemi.android.nrftoolbox.myRailwayAdapter(this);
//        Cursor cursor = myrailway.getTrainDetails(from, to);
        String[] FROM = null;
        String[] TO = null;
        String[] TRAINNAME = null;
        String[] TRAINNO = null;
        String[] DEPART = null;
        String[] ARRIVAL = null;
        Cursor cursor = myrailway.getTrainDetails(from, to);
        if(cursor != null) {
            Log.e("ERROR","NON EMPTY CURSOR");
            int count = 0;
            if (cursor.moveToFirst()) {
                Log.e("ERROR","ENTERED LOOP");
                do {
                    String stnfrom = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_STNFROM));
                    String stnto = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_STNTO));
                    String trainname = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_NAME));
                    String trainno = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_TRAINNUM));
                    String depart = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_DEPART));
                    String arrival = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_ARRIVAL));
                    FROM[count] = stnfrom;   Log.e("fr",stnfrom);
                    TO[count] = stnto;      Log.e("too",stnto);
                    TRAINNAME[count] = trainname;   Log.e("trainanme",trainname);
                    TRAINNO[count] = trainno;   Log.e("trainno",trainno);
                    DEPART[count] = depart;     Log.e("depart",depart);
                    ARRIVAL[count] = arrival;       Log.e("arrival",arrival);

                count = count + 1;
                cursor.close();
            } while (cursor.moveToNext());

            lviewAdapter = new ListViewAdapter(this, FROM, TO, DEPART, ARRIVAL, TRAINNAME, TRAINNO);

            lview.setAdapter(lviewAdapter);
        }


    }
    else
        Log.e("ERROR","EMPTY CURSOR");

}
   public class ListViewAdapter extends BaseAdapter {
    Activity context;
    String from[];
    String to[];
    String depart[];
    String arrival[];
    String trainname[];
    String trainno[];
    private no.nordicsemi.android.nrftoolbox.myRailwayAdapter myrailway;
    public ListViewAdapter(Activity context, String[] from, String[] to, String[] depart, String[] arrival, String[] trainname, String[] trainno) {
        super();
        this.context = context;
        this.from = from;
        this.to = to;
        this.depart = depart;
        this.arrival = arrival;
        this.trainname = trainname;
        this.trainno = trainno;
    }
    @Override
    public int getCount() {
        return depart.length;
    }

    @Override
    public Object getItem(int i) {
        return depart[i];
    }

    @Override
    public long getItemId(int i) {
        myrailway = new no.nordicsemi.android.nrftoolbox.myRailwayAdapter(this.context);
        Long recc= Long.valueOf(0);
        Cursor c= myrailway.getpass(trainname[i]);
        if(c!=null)
        {
            c.moveToFirst();
            recc=c.getLong(0);
        }
        return recc;
    }

    private class ViewHolder {
        TextView txtfrom;
        TextView txtto;
        TextView txttrainno;
        TextView txttrainname;
        TextView txtdepart;
        TextView txtarrival;

    }
    @Override
    public View getView(int position, View view, ViewGroup viewGroup) {
        ViewHolder holder;
        LayoutInflater inflater =  context.getLayoutInflater();

        if (view == null)
        {
            view = inflater.inflate(R.layout.listview_items, null);
            holder = new ViewHolder();
            holder.txtfrom = (TextView) view.findViewById(R.id.from);
            holder.txtto = (TextView) view.findViewById(R.id.to);
            holder.txttrainno = (TextView) view.findViewById(R.id.trainno);
            holder.txttrainname = (TextView) view.findViewById(R.id.trainname);
            holder.txtdepart = (TextView) view.findViewById(R.id.depart);
            holder.txtarrival = (TextView) view.findViewById(R.id.arrival);
            view.setTag(holder);
        }
        else
        {
            holder = (ViewHolder) view.getTag();
        }

        holder.txtfrom.setText(from[position]);
        holder.txtto.setText(to[position]);
        holder.txttrainno.setText(trainno[position]);
        holder.txttrainname.setText(trainname[position]);
        holder.txtdepart.setText(depart[position]);
        holder.txtarrival.setText(arrival[position]);

        return view;
    }
}
 <RelativeLayout 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="no.nordicsemi.android.nrftoolbox.Search_Results">
        <ListView
            android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

    </RelativeLayout>
<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TableRow>
        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingTop="0dip" android:layout_gravity="top"
            >
            <TableRow>
                <TextView
                    android:id="@+id/from"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1" android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:textColor="#000000"
                    android:layout_span="1"
                    />

                <TextView
                    android:id="@+id/to"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1" android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:textColor="#000000"
                    android:layout_span="1"
                    />
            </TableRow>
            <TableRow>
                <TextView
                    android:text=""
                    android:id="@+id/trainno"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>
                <TextView
                    android:text=""
                    android:id="@+id/trainname"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>

            </TableRow>
            <TableRow>
                <TextView
                    android:text=""
                    android:id="@+id/depart"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>
                <TextView
                    android:text=""
                    android:id="@+id/arrival"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>

            </TableRow>

        </TableLayout>

        <Button
            android:id="@+id/book"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:onClick="book"
            android:text="BOOK">

        </Button>
    </TableRow>

</TableLayout>
我的搜索结果。xml:

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search__results);
    lview = (ListView) findViewById(R.id.list);
    Intent intent = getIntent();
    String from = intent.getStringExtra("from");
    String to = intent.getStringExtra("to");
//    String date = intent.getStringExtra("date");
//    String clas = intent.getStringExtra("class");
        myrailway = new no.nordicsemi.android.nrftoolbox.myRailwayAdapter(this);
//        Cursor cursor = myrailway.getTrainDetails(from, to);
        String[] FROM = null;
        String[] TO = null;
        String[] TRAINNAME = null;
        String[] TRAINNO = null;
        String[] DEPART = null;
        String[] ARRIVAL = null;
        Cursor cursor = myrailway.getTrainDetails(from, to);
        if(cursor != null) {
            Log.e("ERROR","NON EMPTY CURSOR");
            int count = 0;
            if (cursor.moveToFirst()) {
                Log.e("ERROR","ENTERED LOOP");
                do {
                    String stnfrom = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_STNFROM));
                    String stnto = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_STNTO));
                    String trainname = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_NAME));
                    String trainno = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_TRAINNUM));
                    String depart = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_DEPART));
                    String arrival = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_ARRIVAL));
                    FROM[count] = stnfrom;   Log.e("fr",stnfrom);
                    TO[count] = stnto;      Log.e("too",stnto);
                    TRAINNAME[count] = trainname;   Log.e("trainanme",trainname);
                    TRAINNO[count] = trainno;   Log.e("trainno",trainno);
                    DEPART[count] = depart;     Log.e("depart",depart);
                    ARRIVAL[count] = arrival;       Log.e("arrival",arrival);

                count = count + 1;
                cursor.close();
            } while (cursor.moveToNext());

            lviewAdapter = new ListViewAdapter(this, FROM, TO, DEPART, ARRIVAL, TRAINNAME, TRAINNO);

            lview.setAdapter(lviewAdapter);
        }


    }
    else
        Log.e("ERROR","EMPTY CURSOR");

}
   public class ListViewAdapter extends BaseAdapter {
    Activity context;
    String from[];
    String to[];
    String depart[];
    String arrival[];
    String trainname[];
    String trainno[];
    private no.nordicsemi.android.nrftoolbox.myRailwayAdapter myrailway;
    public ListViewAdapter(Activity context, String[] from, String[] to, String[] depart, String[] arrival, String[] trainname, String[] trainno) {
        super();
        this.context = context;
        this.from = from;
        this.to = to;
        this.depart = depart;
        this.arrival = arrival;
        this.trainname = trainname;
        this.trainno = trainno;
    }
    @Override
    public int getCount() {
        return depart.length;
    }

    @Override
    public Object getItem(int i) {
        return depart[i];
    }

    @Override
    public long getItemId(int i) {
        myrailway = new no.nordicsemi.android.nrftoolbox.myRailwayAdapter(this.context);
        Long recc= Long.valueOf(0);
        Cursor c= myrailway.getpass(trainname[i]);
        if(c!=null)
        {
            c.moveToFirst();
            recc=c.getLong(0);
        }
        return recc;
    }

    private class ViewHolder {
        TextView txtfrom;
        TextView txtto;
        TextView txttrainno;
        TextView txttrainname;
        TextView txtdepart;
        TextView txtarrival;

    }
    @Override
    public View getView(int position, View view, ViewGroup viewGroup) {
        ViewHolder holder;
        LayoutInflater inflater =  context.getLayoutInflater();

        if (view == null)
        {
            view = inflater.inflate(R.layout.listview_items, null);
            holder = new ViewHolder();
            holder.txtfrom = (TextView) view.findViewById(R.id.from);
            holder.txtto = (TextView) view.findViewById(R.id.to);
            holder.txttrainno = (TextView) view.findViewById(R.id.trainno);
            holder.txttrainname = (TextView) view.findViewById(R.id.trainname);
            holder.txtdepart = (TextView) view.findViewById(R.id.depart);
            holder.txtarrival = (TextView) view.findViewById(R.id.arrival);
            view.setTag(holder);
        }
        else
        {
            holder = (ViewHolder) view.getTag();
        }

        holder.txtfrom.setText(from[position]);
        holder.txtto.setText(to[position]);
        holder.txttrainno.setText(trainno[position]);
        holder.txttrainname.setText(trainname[position]);
        holder.txtdepart.setText(depart[position]);
        holder.txtarrival.setText(arrival[position]);

        return view;
    }
}
 <RelativeLayout 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="no.nordicsemi.android.nrftoolbox.Search_Results">
        <ListView
            android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

    </RelativeLayout>
<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TableRow>
        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingTop="0dip" android:layout_gravity="top"
            >
            <TableRow>
                <TextView
                    android:id="@+id/from"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1" android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:textColor="#000000"
                    android:layout_span="1"
                    />

                <TextView
                    android:id="@+id/to"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1" android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:textColor="#000000"
                    android:layout_span="1"
                    />
            </TableRow>
            <TableRow>
                <TextView
                    android:text=""
                    android:id="@+id/trainno"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>
                <TextView
                    android:text=""
                    android:id="@+id/trainname"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>

            </TableRow>
            <TableRow>
                <TextView
                    android:text=""
                    android:id="@+id/depart"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>
                <TextView
                    android:text=""
                    android:id="@+id/arrival"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>

            </TableRow>

        </TableLayout>

        <Button
            android:id="@+id/book"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:onClick="book"
            android:text="BOOK">

        </Button>
    </TableRow>

</TableLayout>

我的listview\u items.xml:

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search__results);
    lview = (ListView) findViewById(R.id.list);
    Intent intent = getIntent();
    String from = intent.getStringExtra("from");
    String to = intent.getStringExtra("to");
//    String date = intent.getStringExtra("date");
//    String clas = intent.getStringExtra("class");
        myrailway = new no.nordicsemi.android.nrftoolbox.myRailwayAdapter(this);
//        Cursor cursor = myrailway.getTrainDetails(from, to);
        String[] FROM = null;
        String[] TO = null;
        String[] TRAINNAME = null;
        String[] TRAINNO = null;
        String[] DEPART = null;
        String[] ARRIVAL = null;
        Cursor cursor = myrailway.getTrainDetails(from, to);
        if(cursor != null) {
            Log.e("ERROR","NON EMPTY CURSOR");
            int count = 0;
            if (cursor.moveToFirst()) {
                Log.e("ERROR","ENTERED LOOP");
                do {
                    String stnfrom = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_STNFROM));
                    String stnto = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_STNTO));
                    String trainname = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_NAME));
                    String trainno = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_TRAINNUM));
                    String depart = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_DEPART));
                    String arrival = cursor.getString(cursor.getColumnIndex(no.nordicsemi.android.nrftoolbox.myRailwayAdapter.CONTACTS_COLUMN_ARRIVAL));
                    FROM[count] = stnfrom;   Log.e("fr",stnfrom);
                    TO[count] = stnto;      Log.e("too",stnto);
                    TRAINNAME[count] = trainname;   Log.e("trainanme",trainname);
                    TRAINNO[count] = trainno;   Log.e("trainno",trainno);
                    DEPART[count] = depart;     Log.e("depart",depart);
                    ARRIVAL[count] = arrival;       Log.e("arrival",arrival);

                count = count + 1;
                cursor.close();
            } while (cursor.moveToNext());

            lviewAdapter = new ListViewAdapter(this, FROM, TO, DEPART, ARRIVAL, TRAINNAME, TRAINNO);

            lview.setAdapter(lviewAdapter);
        }


    }
    else
        Log.e("ERROR","EMPTY CURSOR");

}
   public class ListViewAdapter extends BaseAdapter {
    Activity context;
    String from[];
    String to[];
    String depart[];
    String arrival[];
    String trainname[];
    String trainno[];
    private no.nordicsemi.android.nrftoolbox.myRailwayAdapter myrailway;
    public ListViewAdapter(Activity context, String[] from, String[] to, String[] depart, String[] arrival, String[] trainname, String[] trainno) {
        super();
        this.context = context;
        this.from = from;
        this.to = to;
        this.depart = depart;
        this.arrival = arrival;
        this.trainname = trainname;
        this.trainno = trainno;
    }
    @Override
    public int getCount() {
        return depart.length;
    }

    @Override
    public Object getItem(int i) {
        return depart[i];
    }

    @Override
    public long getItemId(int i) {
        myrailway = new no.nordicsemi.android.nrftoolbox.myRailwayAdapter(this.context);
        Long recc= Long.valueOf(0);
        Cursor c= myrailway.getpass(trainname[i]);
        if(c!=null)
        {
            c.moveToFirst();
            recc=c.getLong(0);
        }
        return recc;
    }

    private class ViewHolder {
        TextView txtfrom;
        TextView txtto;
        TextView txttrainno;
        TextView txttrainname;
        TextView txtdepart;
        TextView txtarrival;

    }
    @Override
    public View getView(int position, View view, ViewGroup viewGroup) {
        ViewHolder holder;
        LayoutInflater inflater =  context.getLayoutInflater();

        if (view == null)
        {
            view = inflater.inflate(R.layout.listview_items, null);
            holder = new ViewHolder();
            holder.txtfrom = (TextView) view.findViewById(R.id.from);
            holder.txtto = (TextView) view.findViewById(R.id.to);
            holder.txttrainno = (TextView) view.findViewById(R.id.trainno);
            holder.txttrainname = (TextView) view.findViewById(R.id.trainname);
            holder.txtdepart = (TextView) view.findViewById(R.id.depart);
            holder.txtarrival = (TextView) view.findViewById(R.id.arrival);
            view.setTag(holder);
        }
        else
        {
            holder = (ViewHolder) view.getTag();
        }

        holder.txtfrom.setText(from[position]);
        holder.txtto.setText(to[position]);
        holder.txttrainno.setText(trainno[position]);
        holder.txttrainname.setText(trainname[position]);
        holder.txtdepart.setText(depart[position]);
        holder.txtarrival.setText(arrival[position]);

        return view;
    }
}
 <RelativeLayout 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="no.nordicsemi.android.nrftoolbox.Search_Results">
        <ListView
            android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

    </RelativeLayout>
<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TableRow>
        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingTop="0dip" android:layout_gravity="top"
            >
            <TableRow>
                <TextView
                    android:id="@+id/from"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1" android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:textColor="#000000"
                    android:layout_span="1"
                    />

                <TextView
                    android:id="@+id/to"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1" android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:textColor="#000000"
                    android:layout_span="1"
                    />
            </TableRow>
            <TableRow>
                <TextView
                    android:text=""
                    android:id="@+id/trainno"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>
                <TextView
                    android:text=""
                    android:id="@+id/trainname"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>

            </TableRow>
            <TableRow>
                <TextView
                    android:text=""
                    android:id="@+id/depart"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>
                <TextView
                    android:text=""
                    android:id="@+id/arrival"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_weight="1"
                    android:layout_gravity="left|center_vertical"
                    android:textSize="16sp"
                    android:textColor="#000000"
                    android:layout_marginLeft="10dip"
                    android:layout_marginTop="4dip"
                    android:gravity="left"/>

            </TableRow>

        </TableLayout>

        <Button
            android:id="@+id/book"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:onClick="book"
            android:text="BOOK">

        </Button>
    </TableRow>

</TableLayout>

现在,光标不是空的,但是listview适配器不显示listview。
有人能指出代码中的错误吗?

我可以看出发生这种情况的两个原因:

  • 数组中没有填充数据/或填充空数据,因此没有显示这些数组的原因。(不太可能,因为当您尝试访问数组中的空位置时会收到空指针异常)
  • 行布局不显示数据参数。(我会的 因此,请向您展示行布局XML(listview_items.XML),以便我们进行检查 (it)
检查:在getView方法中设置数据之前,检查并将每行6个数组中的所有数据打印到日志中。

请使用此选项

@Override
public int getCount() {
  //here too;
    return depart.lenght;
}

@Override
public Object getItem(int i) {
//there is error: repalce return null; with
    return depart[i];
}

@Override
public long getItemId(int i) {
    //change this too
    return depart[i].getId();
}
getCount()getItem()getItemId()未正确设置

  • getCount()应返回arraylist中的项数

  • getItem()应该从arraylist返回给定位置的项

  • getItemId()应该返回项目的内部id(如果有),或者返回项目在数组中的位置或项目的哈希数


在问题@Klevin delimeta中添加了my listview_items.xml。是否在getView方法之前记录数组,但在适配器类中?它们是满的还是空的?@user8773560有一个很好的观点。那样做。请再次检查。我试图打印字符串中包含的值。但它没有记录任何东西。它甚至没有打印“进入循环”,这意味着它没有进入光标循环。你能复习一下代码吗。我已经根据反馈进行了更改@Klevin DelimetaI添加了所需的更改,但仍然没有显示任何内容@用户8773560