Customizing ListView Row Layout with Static Header and Dynamic Text
This question concerns the customization of ListView row layouts to include a static header and dynamically changing text. The inquirer has created a ListView with data populated from a String array using an ArrayAdapter, but they encounter difficulty in displaying the desired layout format.
Solution:
To achieve the specified layout, follow these steps:
- Create a custom row layout (row.xml) with two TextViews: one for the static header and another for the dynamic text.
- Define the RelativeLayout for the main activity XML layout to include the ListView.
- Implement a custom adapter that inflates the row layout and sets the data accordingly.
The adapter class includes methods like getCount(), getItem(), getItemId(), and getView(), which handle data handling and view creation.
- In the activity's onCreate() method, set the adapter to the ListView.
Here's an example implementation:
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> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/text"></textview> </linearlayout></code>
main.xml:
<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>
Custom Adapter:
<code class="java">class yourAdapter extends BaseAdapter { ... @Override public View getView(int position, View convertView, ViewGroup parent) { View vi = convertView; if (vi == null) vi = inflater.inflate(R.layout.row, null); TextView text = (TextView) vi.findViewById(R.id.text); text.setText(data[position]); return vi; } }</code>
The above is the detailed content of How to Create a ListView with a Static Header and Dynamic Text in Each Row?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

Dreamweaver Mac version
Visual web development tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 Mac version
God-level code editing software (SublimeText3)

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function