📜  Android ListView

📅  最后修改于: 2020-09-29 02:23:27             🧑  作者: Mango

Android ListView

Android ListView是一个视图,其中包含项目组并显示在可滚动列表中。 ListView是通过导入android.widget.ListView类实现的。 ListView是默认的可滚动视图,它不使用其他滚动视图。

ListView使用适配器类,该类将数据源中的内容(例如字符串数组,数组,数据库等)添加到ListView。适配器在AdapterView和其他视图(ListView,ScrollView等)之间桥接数据。

ListView的示例

让我们实现一个简单的listview示例。

ListView项目的结构

activity_main.xml

首先,我们需要将ListView组件从面板拖放到activity_main.xml文件中。

文件:activity_main.xml




    

在布局文件夹中创建一个额外的mylist.xml文件,其中包含在listview中显示的视图组件。

mylist.xml

文件:mylist.xml




现在,通过创建字符串数组将数据列表放置在strings.xml文件中。

strings.xml

文件:strings.xml


    ListView
    
        Android
        Java
        Php
        Hadoop
        Sap
        Python
        Ajax
        C++
        Ruby
        Rails
        .Net
        Perl
    

活动课

在Java类中,我们需要使用listview的setAdapter()方法将适配器添加到listview。

文件:MainActivity.java

package listview.example.com.listview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    ListView listView;
    TextView textView;
    String[] listItem;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listView=(ListView)findViewById(R.id.listView);
        textView=(TextView)findViewById(R.id.textView);
        listItem = getResources().getStringArray(R.array.array_technology);
        final ArrayAdapter adapter = new ArrayAdapter(this,
                android.R.layout.simple_list_item_1, android.R.id.text1, listItem);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView adapterView, View view, int position, long l) {
                // TODO Auto-generated method stub
                String value=adapter.getItem(position);
                Toast.makeText(getApplicationContext(),value,Toast.LENGTH_SHORT).show();

            }
        });
    }
}

输出量