3.16. Android list fragment

发布时间 : 2025-10-25 13:33:22 UTC      

Page Views: 9 views

The basic implementation of list fragmentation is to create a project list in the fragment

image26

3.16.1. Example

This example explains how to create list fragments based on ArrayAdapter. Let’s start with the following steps:

Steps

Description

1

Create an Android application using Android Studio, named List Fragment, and package name cn.uprogrammer.listfragment

2

Modify the string file to add a new string constant to res/values/string.xml

3

Create a layout file named list_fragment.xml under res/layout to define list fragments and add? Label

4

Create a MyListFragment.java file that contains onCreateView (), onActivityCreated (), and OnItemClickListener ().

5

Start the Android emulator to run the application and verify the results of the application’s changes.

在开始编码前,在 res/values 目录下的 string.xml 中初始化字符串常量。

  listfragment Settings Hello world! List Fragment Demo imgdesc  Sun Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune   

以下是 res/layout/activity_main.xml 文件的内容,其中包含线性布局和碎片标签。

       

以下是 res/layout/list_fragment.xml 文件的内容,其中包含线性布局,列表视图 和 TextView

       

以下是 src/cn.uprogrammer.listfragment/MyListFragment.java 文件的内容。在开始编码之前,需要按照如下的几个步骤:

  • 创建 MyListFragment 类,继承自 ListFragment

  • onCreateView() 方法内,使用上面定义的 list_fragment xml 布局来填充视图。

  • onActivityCreated() 方法内, 使用 在 string.xml 中定义的字符串数组 R.array.planet 资源来创建一个 ArrayAdapter ,并将适配器设置到列表视图,并设置列表项的点击监听器

  • OnItemClickListener() 方法内,以土司消息的方式来显示被点击项的位置

package cn.uprogrammer.listfragment; import android.app.ListFragment; import android.annotation.SuppressLint; import android.app.ListFragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.Toast; public class MyListFragment extends ListFragment implements OnItemClickListener { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.list_fragment, container, false); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.Planets, android.R.layout.simple_list_item_1); setListAdapter(adapter); getListView().setOnItemClickListener(this); } @Override public void onItemClick(AdapterView parent, View view, int position,long id) { Toast.makeText(getActivity(), "Item: " + position, Toast.LENGTH_SHORT).show(); } } 

以下代码是 MainActivity.java 的内容:

package cn.uprogrammer.listfragment; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } 

以下是 AndroidManifest.xml 文件的内容:

              

Let’s run the List Fragment application that we just modified. I assume that you have created AVD when you installed the environment. Open the active file in your project and click the icon in the toolbar to run the application in Android Studio. Android Studio installs the application on AVD and starts it. If all goes well, it will be displayed on the simulator window as follows:

image27

《地理信息系统原理、技术与方法》  97

最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。