android stdio对于xml中列表的展示

我们需要用到一个控件,ListView如果愿意深度学习,可以观看下方的文章。

(11条消息) Android最常用的控件ListView(详解)_android listview_撩得Android一次心动的博客-CSDN博客

(1)新建两个.xml文件,一个作为列表,一个作为列表中的一条信息。

列表xml文件:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/select_e"
android:layout_width="320dp"
android:layout_height="60dp"/>
<Button
       androic:text="查询"
android:id="@+id/select_b"
android:layout_width="wrap_content"
android:layout_height="60dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/select_"
android:layout_height="200dp"
android:layout_width="match_parent"
/>
</LinearLayout>
</LinearLayout>

单条信息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:orientation="horizontal">
<TextView
android:textSize="25dp"
android:text=""
android:id="@+id/a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>

 

(2)新建一个MyAdapter类和一个bean类,一个作为信标信息的java信息与xml文件的传输媒介。

  另一个作为单个输入信息的汇总。

MyAdapter类

 

package com.example.myapplication;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.List;

public class MyAdapter extends BaseAdapter {

private List<Bean> data;//创建私有的Bean类的data
private Context context;

public MyAdapter(List<Bean> data, Context context) {
this.data = data;
this.context = context;
}

@Override
public int getCount() {
return data.size();//获取data的长度
}

@Override
public Object getItem(int i) {
return null;
}

@Override
public long getItemId(int i) {//获取id
return i;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (view == null){//防止view不停的新建,
view = LayoutInflater.from(context).inflate(R.layout.information2,viewGroup,false);
}
TextView a=view.findViewById(R.id.a);
TextView b=view.findViewById(R.id.b);
TextView c=view.findViewById(R.id.c);
TextView d=view.findViewById(R.id.d);
a.setText("学号为:"+data.get(i).xuehao_);
b.setText("日期为:"+data.get(i).riqi_);
c.setText("关键字为:"+data.get(i).impor_);
d.setText("总结为:"+data.get(i).al_);
return view;
}
}

bean类

 

package com.example.myapplication;

public class bean {
public String al_;
public String xuehao_;
public String impor_;
public String riqi_;
}//严谨来讲需要使用private,但由于需要使用get、set函数,就偷懒使用public了

 

(3)在现java中申请MyAdatper和bean,并且对bean申请数组、赋值,传入MyAdapter,展示。

 

private List<String> xuehoa=new ArrayList<>();
private List<bean> data=new ArrayList<>();
@Override
/*以上为外部声名*/
String select_e=e.getText().toString();
re_(select_e);//我写了个搜select_e并将搜寻到的s_id加入到xuehao中
for(int i=0;i<xuehao.size();i++){
bean Bean = new bean();
Bean.xuehao_= xuehao.get(i);
Bean.al_=jilu.get(i);
data.add(Bean);//通过add把数据加入到data里面
}
ListView listView = findViewById(R.id.select_);//获取id,就是上面讲的屏幕里面的列表的id
listView.setAdapter(new MyAdapter2(data,select.this));//Adapter作用将各种数据以合适的形式显示在View中给用户看

 

posted @ 2023-03-20 10:33  子过杨梅  阅读(56)  评论(0编辑  收藏  举报