如何在 Android 中的 listView 编程方式滚动到特定位置?
此示例演示如何以编程方式滚动到 Android 中的特定位置。
步骤 1 − 在 Android Studio 中创建新项目,转到 File ⇒ New Project 并填写所有必填详细信息来创建新项目。
步骤 2 − 将以下代码添加到 res/layout/activity_main.xml。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rl" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" tools:context=".MainActivity"> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ListView Scroll To Position 22" /> <ListView android:id="@+id/listView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/btn" /> </RelativeLayout>
步骤 3 − 向 src/MainActivity.java 添加以下代码
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ListView listView = findViewById(R.id.listView);
Button btn = findViewById(R.id.btn);
String[] footballPlayers = new String[] {
"Cristiano Ronaldo",
"Lionel Messi",
"Neymar Jnr",
"Eden Hazard",
"Isco",
"Gareth Bale",
"Sergio Buesquets",
"Zlatan Ibrahimovic",
"GG Buffon",
"Iker Casillas",
"Rafael Varane",
"Zinedine Zidane",
"Menphis Depay",
"Gerard Pique",
"Victor Valdes",
"David De Gea",
"Mo Salah",
"Ronaldinio",
"Marco Rues",
"Asencio",
"Luis Figo",
"Sergio Ramos",
"Maldini",
"Marcelo",
"Karim Benzema",
"Sir Alex Firguson"
};
final List<String> footballPlayers = new ArrayList<>(Arrays.asList(footballPlayers));
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, footballPlayers);
listView.setAdapter(arrayAdapter);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listView.smoothScrollToPosition(22);
}
});
}
}步骤 4 − 向 androidManifest.xml 添加以下代码
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="app.com.sample"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
让我们尝试运行您的应用程序。我假设您已将实际的安卓移动设备连接到了电脑。要在 Android Studio 中运行该应用,打开项目的一个活动文件并单击工具栏中的运行
图标。选择移动设备作为选项,然后查看移动设备,其中将显示默认屏幕−

单击 此处 下载项目代码。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP