如何在 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