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