首页 > Java > java教程 > 正文

如何在 Android 中创建具有自定义行项目和动态更改文本的 ListView?

Linda Hamilton
发布: 2024-10-29 10:58:29
原创
461 人浏览过

How to Create a ListView with Custom Row Items and Dynamically Changing Text in Android?

在 Android 中自定义 ListView 行项目

当前的任务涉及创建一个 ListView,其中的行显示标题,然后更改文本。为此,请按照下列步骤操作:

行项目的自定义布局:

  • 在您的项目中创建一个名为“row.xml”的自定义行布局布局文件夹:
<code class="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="match_parent"
    android:orientation="vertical">
    
    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Header"/>

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/text"/>
</LinearLayout></code>
登录后复制

主 XML 布局:

  • 更新主 XML 布局以包含 ListView:
<code class="xml"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">

    <ListView
        android:id="@+id/listview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    </ListView>
</LinearLayout></code>
登录后复制

自定义适配器类:

  • 创建扩展 BaseAdapter 的自定义适配器类:
<code class="java">class yourAdapter extends BaseAdapter {

    Context context;
    String[] data;
    private static LayoutInflater inflater = null;

    public yourAdapter(Context context, String[] data) {
        this.context = context;
        this.data = data;
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    // ... Implement other methods as required by BaseAdapter
    // such as getView(), getCount(), getItem(), getItemId()

}</code>
登录后复制

Java Activity:

  • 在您的 Java 活动中,设置 ListView 和适配器:
<code class="java">public class StackActivity extends Activity {

    ListView listview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        listview = (ListView) findViewById(R.id.listview);
        listview.setAdapter(new yourAdapter(this, new String[] { "data1",
                "data2" }));
    }
}</code>
登录后复制

此方法将导致 ListView 中显示自定义行项目定期更新的动态文本上方的“标题”文本。

以上是如何在 Android 中创建具有自定义行项目和动态更改文本的 ListView?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板