如何在Android列表视图上显示行号?

如何在Android列表视图上显示行号?,android,listview,Android,Listview,我在Android应用程序中设置了一个带有ArrayAdapter的ListView。它列出了一组字符串值。如何使其在每个列表项前面显示行号?像这样: 一 二 三 只需在getView的第一个参数中打印位置。不要忘记+1,因为位置从0开始,只需打印位置,它位于getView的第一个参数中。别忘了+1,因为位置是从0开始的,我想你是想达到这个目标 如果是这样,下面是工作代码: MainActivity.java activity_main.xml lisitem.xml 我想你是想达到这个目的 如

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

一 二 三
只需在getView的第一个参数中打印位置。不要忘记+1,因为位置从0开始,只需打印位置,它位于getView的第一个参数中。别忘了+1,因为位置是从0开始的,我想你是想达到这个目标

如果是这样,下面是工作代码:

MainActivity.java

activity_main.xml

lisitem.xml


我想你是想达到这个目的

如果是这样,下面是工作代码:

MainActivity.java

activity_main.xml

lisitem.xml


@Joshin有关getView的实现,请参阅本文:它将向您展示一个如何覆盖常用getView的示例。我如何在getView方法中打印它?如何更改视图项中的文本?@Joshin@Alex K给了你一个例子,或者用谷歌搜索一下。无意冒犯,请记住,这不是一个有人为您编码的地方,我们会尽力帮助您,但您是为自己工作的:@Joshin有关getView的实现,请参阅本文:它将向您展示一个如何覆盖常用getView的示例。我如何在getView方法中打印它?如何更改视图项中的文本?@Joshin@Alex K给了你一个例子,或者用谷歌搜索一下。无意冒犯请记住,这不是一个有人为您编码的地方,我们会尽力帮助您,但您是为自己工作的:这在ExpandedListView中是不可能的这在ExpandedListView中是不可能的
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;     
    }

}   
<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>
<?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>