如何在Android ListViews上显示行号?

时间:2014-11-16 04:13:33

标签: android listview

我的Android应用程序中有一个带有ArrayAdapter的ListView集。它列出了一组字符串值。如何让它显示每个列表项前面的行号?像这样:

  1. 两个

2 个答案:

答案 0 :(得分:4)

只需在position的第一个参数中打印getView即可。别忘了+1 {因为position从0开始

答案 1 :(得分:2)

我猜你正试图实现这个目标,

enter image description here

如果是,请参阅以下工作代码:

<强> MainActivity.java

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {

    ListView lv;
    String[] title = {"Windows","Apple","Android" };


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView) findViewById(R.id.listView1);       
        CustomAdapter adapter = new CustomAdapter(this,title);      
        lv.setAdapter(adapter);
    }



}

class CustomAdapter extends ArrayAdapter<String>
{
    Context context;
    String[] title;


     CustomAdapter(Context c, String[] title) 
    {

        super(c, R.layout.listitem,title);
        this.context = c;
        this.title=title;

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

         LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

                 View row = vi.inflate(R.layout.listitem, parent, false);                 
                  TextView titlee = (TextView) row.findViewById(R.id.textView1);
                  int pos = position+1;
                  titlee.setText(+pos + ". " + title[position]);
                  pos++;
        return row;     
    }

}   

<强> activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >
    </ListView>

</RelativeLayout>

<强> lisitem.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:text="Title"
        android:padding="10dp"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>