📜  Android中的ArrayAdapter示例

📅  最后修改于: 2021-05-09 16:32:12             🧑  作者: Mango

适配器充当UI组件和数据源之间的桥梁。它将数据源中的数据转换为可以显示在UI组件中的视图项。数据源可以是数组,HashMap,数据库等,UI组件可以是ListView,GridView,Spinner等。ArrayAdapter是android中最常用的适配器。当您具有存储在数组中的单个类型项的列表时,可以使用ArrayAdapter。同样,如果您有电话号码,姓名或城市的列表。 ArrayAdapter具有带有单个TextView的布局。如果要使用更复杂的布局而不是ArrayAdapter,请使用CustomArrayAdapterArrayAdapter的基本语法为

参数

Parameters

Description

context The current context. This value can not be null.
resource The resource ID for the layout file containing a layout to use when instantiating views.
textViewResourceId The id of the TextView within the layout resource to be populated.
objects The objects to represent in the ListView. This value cannot be null.

语境: 它用于传递当前类的引用。这里的“ this”关键字用于传递当前的类引用。除了“ this”,我们还可以使用用于Activity的getApplicationContext()方法和用于片段的getApplication()方法。

资源:用于设置列表项的布局文件(.xml文件)。

textViewResourceId:用于设置要在其中显示文本数据的TextView。

对象:这些是用于将数组元素设置为TextView的数组对象。

例子

在此示例中,使用简单的阵列适配器显示课程列表。注意,我们将使用Java语言实现该项目

步骤1:创建一个新项目

要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。

步骤2:使用activity_main.xml文件

转到布局文件夹,然后在activity_main.xml文件中将ConstraintLayout更改为RelativeLayout并插入ID为simpleListView的ListView。以下是activity_main.xml文件的代码

XML


  
    
  


XML


  
    
  


Java
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
  
    ListView simpleListView;
      
    // array objects
    String courseList[] = {"C-Programming", "Data Structure", "Database", "Python",
                            "Java", "Operating System", "Compiler Design", "Android Development"};
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        simpleListView = (ListView) findViewById(R.id.simpleListView);
          
        ArrayAdapter arrayAdapter = new ArrayAdapter(this,
                R.layout.item_view, R.id.itemTextView, courseList);
        simpleListView.setAdapter(arrayAdapter);
    }
}


步骤3:创建一个新的布局文件

转到应用程序> res>布局>右键单击>新建>布局资源文件,然后创建一个新的布局文件,并将该文件命名为item_view.xml ,并将根元素设置为LinearLayout。这将包含一个TextView,用于将数组对象显示为输出。

XML格式



  
    
  

步骤4:使用MainActivity。 Java文件

现在转到Java文件夹,然后进入MainActivity。 Java并将实现提供给ArrayAdapter。下面是MainActivity的代码。 Java文件。

Java

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
  
    ListView simpleListView;
      
    // array objects
    String courseList[] = {"C-Programming", "Data Structure", "Database", "Python",
                            "Java", "Operating System", "Compiler Design", "Android Development"};
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        simpleListView = (ListView) findViewById(R.id.simpleListView);
          
        ArrayAdapter arrayAdapter = new ArrayAdapter(this,
                R.layout.item_view, R.id.itemTextView, courseList);
        simpleListView.setAdapter(arrayAdapter);
    }
}

输出:在模拟器上运行

输出

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!