ArrayAdapter
ArrayAdapterの一般的な使用法を説明するコードを使用します。xmlレイアウトについては説明しません。Javaファイルで呼び出せるように、ListViewコントロールを作成し、列にIDを配置する必要があります。実際、主な問題は、配列アダプタの機能を使用して、Javaファイルで必要なビューを実現することです。これは4つのステップに簡単に分割できます。最初のステップは、最初にオブジェクトのプロパティを取得することです。 Javaファイル、つまりid。はい、2番目のステップは、表示するコンテンツリソース(String [] ...textcontentやint[]... photo contentなど)を設定することです( dramble)3番目のステップは、必要なアダプターを構成することです。これで、さまざまな種類のアダプターがあり、使用するものに応じて選択します。たとえば、このセクションではArrayAdapterについて説明します。アダプターコードとしてrrayAdapterを選択する必要があります。たとえば、ArrayAdapter <String> adapter = new ArrayAdapter <String(this、android.R .layout.simple_list_item_1、data);括弧内の3つのパラメーターは、以下に対応します。コンテキストはMainActivity、2番目のパラメーターはitenテンプレート、自分で設定することも、Androidに直接付属しているものを使用することもできます。これを使用します。3番目のパラメーターはリソース、つまり使用する戦士コンテンツのパラメーターです。4番目のステップは、アダプターとリストの間の接続を確立することです。機能の表示を実現するために表示します!
コードは次のように表示されます。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".MainActivity"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:gravity="center"
android:text="世界百科"
/>
<ListView
android:id="@+id/lv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
MainActivity.java
package com.example.listview_arrayadapter;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//第一步:先获取ListView的控件资源
ListView listview=this.findViewById(R.id.lv);
//第二步准备数据库(Array)
String [] data={"中国","俄罗斯","美国","英国","法国","印度","韩国","朝鲜","意大利","土耳其","阿达里亚","加拿大",
"缅甸","日本","老挝","蒙古","乌克兰","泰国"};
//第三步:配置适配器(ArrayAdapter)3个参数,上下文,xml布局资源,数据库源
ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
//第四步:将适配器与ListView经行关联
listview.setAdapter(adapter);
}
}
最終的なレンダリング
SimpleAdapter
また、コードを使用してこの使用法を示し、説明します。単純なアダプターとarraryadapterはどちらもBaseAdapterを継承します。つまり、どちらもBaseAdapterのプロパティを持っています。両者の違いを知りたい場合、難易度の点で、単純なアダプターは多くのパラメーターを使用するため、比較的困難であり、注意しないとめまいがします。方法は基本的に同じです。ここに画像を表示したいのですが、ここでxmlを導入する必要があります。これは、画像ごとに統一されたスタイルのレイアウトをカスタマイズし、以下のIDを挿入できるためです。実装されたJavaファイル関数に注目してください。 。最初のステップはLiatViewのオブジェクトを取得することであり、2番目のステップはコンテンツ(画像またはテキスト)を設定することです。
List <Map <String、Object >> data = new ArrayList <Map <String、Object >>(); Map <String、Object> map = new HashMap <String、Object>(); map.put( "icon"、 R.drawable.yao); data.add(map) Map <String、Object>はMapコレクション変数を定義し、次にList <Map <String、Object>>はマップコレクションであるListコレクション変数を定義します。mapはそのリストの値の1つ。
List <Map <String、Object> list = new ArrayList <Map <String、Object >>();
Map <String、Object> map = new HashMap <String、Object>();
data.add(map); // map
このようにして、ListViewの多くの画像リソースの1つを取得します。別の画像を取得して表示する場合は、
map = new HashMap <String、Object>(); map.put( "icon"、R.drawable.diaochan); data.add(map);クラス推
知らせ
アダプターを構成する場合(括弧内の5つのパラメーターは、コンテキスト、データパラメーター、アイテムのxmlレイアウトファイル、および名前とIDです)
写真の横にタイトル(文字名)やメッセージ(文字の紹介)を追加するなど、より多くのものを表示したい場合は、作成したxmlファイルで2つのテキストビューを同時に設定できます。 List <Map <String、Object >> data = new ArrayList <Map <String、Object >>(); Map <String、Object> map = new HashMap <String、Object>(); Add map.put( "title、 "タイトルコンテンツ");およびmap.put( "メッセージ"、 "メッセージコンテンツ");
コードは次のように表示されます。
MainActivity.java
package com.example.listview_simpleadapter;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取对象
ListView listview =this.findViewById(R.id.lv);
//设置数据库(你的展示内容)
List<Map<String,Object>> data=new ArrayList<Map<String,Object>>();//定义了一个List集合变量
Map<String,Object> map= new HashMap<String,Object>();//定义了一个Map变量
map.put ("icon",R.drawable.yao);//将其yaotp放入map集合
data.add(map);//将其map添加到data集合变量中去,map是data中的其中一个值。
map= new HashMap<String,Object>();
map.put ("icon",R.drawable.libai);
data.add(map);
map= new HashMap<String,Object>();
map.put ("icon",R.drawable.diaochan);
data.add(map);
//配置适配器(以上用到的为SimpleAdapter方法则应选用SimpleAdapter适配器)(括号5个参数分别为:上下文,数据参数,item的xml布局文件,以及名称和id)
SimpleAdapter adapter=new SimpleAdapter(this,data,R.layout.layout_item,new String []{"icon"},new int[]{R.id.icon});
//将适配器与ListView的控件建立起联系
listview.setAdapter(adapter);
}
}
レンダリング
さて、次号ではリストビューとリサイクルビューの違いと効率について説明します!