偏好设置SharedPerferences、根据偏好构建查询url、使用下拉刷新SwipeRefreshLayout.OnRefreshListener接口

这篇博客详细介绍了如何在Android应用中实现偏好设置,包括创建SettingsActivity和EarthquakePreferenceFragment,使用SharedPreferences存储用户偏好。同时,讲解了如何根据用户偏好构建URL,并利用Uri.Builder进行高效操作。此外,还探讨了集成SwipeRefreshLayout实现下拉刷新功能,包括OnRefreshListener接口的使用和集成到ListView中。
摘要由CSDN通过智能技术生成

一,Android应用栏右上角的设置按钮(菜单项),点击后进入一个新的设置界面

首先在Earthquake应用中的res/menu/main.xml中添加
菜单栏样式

	<menu xmlns:android="http://schemas.android.com/apk/res/android"
	    xmlns:app="http://schemas.android.com/apk/res-auto"
	    xmlns:tools="http://schemas.android.com/tools"
	    tools:context="com.example.android.quakereport.EarthquakeActivity">
	    <item
	        android:id="@+id/action_settings"
	        android:title="@string/settting_menu_item"
	        android:icon="@mipmap/ic_launcher"
	        android:orderInCategory="1"
	        app:showAsAction="ifRoom"/>
	</menu>

更新strings.xml在res/values/strings.xml文件中添加一些字符串,更新后的strings.xml

<resources>
    <string name="app_name">Earthquake Report</string>
    <string name="near_the">Near the</string>
    <string name="settting_menu_item">Setting</string>
    <string name="settings_title">Earthquake Setting</string>
    <string name="setting_min_magnitude_label">Choose Minimum Magnitude</string>
    <string name="setting_min_magnitude_key" translatable="false">min_magnitude</string>
    <string name="setting_min_magnitude_default" translatable="false">6</string>
    <string name="setting_location">Location</string>
    <string name="setting_location_default">world</string>
    <string name="setting_date">Date Setting</string>
    <string name="setting_date_default">1</string>
</resources>

覆盖 EarthquakeActivity.java 中的onCreateOptionMenu方法和onOptionItemSelected方法以使用 菜单,然后在用户单击菜单项时作出响应,进入一个新的设置界面

@Override
public boolean onCreateOptionsMenu(Menu menu) {
   
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
   
    int id = item.getItemId();
    if (id == R.id.action_settings) {
   
        Intent settingsIntent = new Intent(this, SettingsActivity.class);
        startActivity(settingsIntent);
        return true;
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值