要实现ListView仅显示由Shared Preferences保存的最后一项,你可以按照以下步骤进行操作:
ListView listView = findViewById(R.id.listView);
ArrayList dataList = new ArrayList<>();
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
String lastItem = sharedPreferences.getString("lastItem", "");
dataList.add(lastItem);
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);
listView.setAdapter(adapter);
这样,ListView就只会显示由Shared Preferences保存的最后一项了。
完整的MainActivity.java代码示例:
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView = findViewById(R.id.listView);
ArrayList dataList = new ArrayList<>();
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
String lastItem = sharedPreferences.getString("lastItem", "");
dataList.add(lastItem);
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);
listView.setAdapter(adapter);
}
}
记得在AndroidManifest.xml文件中将MainActivity设置为启动活动:
这样,你就可以在ListView中仅显示由Shared Preferences保存的最后一项了。