为了账号安全,请及时绑定邮箱和手机立即绑定

Activity 重新加载先前选定的数据错误

Activity 重新加载先前选定的数据错误

犯罪嫌疑人X 2021-11-11 15:40:59
所以我开发了一个android新闻应用程序。工具栏上有一个微调器项目,数据会根据微调器选择重新加载。但是,当数据重新加载时,对于某些项目,它会直接加载相关内容,而对于其他一些项目,它会加载先前选择的微调器数据。当前项目的当前数据仅在使用我实现的滑动刷新功能重新加载相同的微调器数据后显示。我希望与该选择相关的正确数据第一次加载本身而不必一直刷新。下面是我的 MainActivity,其中调用了所有这些函数。package com.example.app.activities;import android.content.BroadcastReceiver;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.graphics.Color;import android.net.Uri;import android.os.Build;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.design.widget.AppBarLayout;import android.support.design.widget.BottomNavigationView;import android.support.design.widget.CoordinatorLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.Spinner;import android.widget.TextView;import android.widget.Toast;import com.android.volley.DefaultRetryPolicy;import com.android.volley.Request;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.RetryPolicy;import com.android.volley.VolleyError;import com.android.volley.toolbox.StringRequest;import com.android.volley.toolbox.Volley;import com.google.firebase.messaging.FirebaseMessaging;import com.squareup.picasso.Picasso;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import java.util.ArrayList;
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

我发现从 API 级别 3 开始,可以在具有布尔值的 Activity 上使用 onUserInteraction() 从而确定用户的交互。


在下面的链接中找到文档。


http://developer.android.com/reference/android/app/Activity.html#onUserInteraction()


@Override

public void onUserInteraction() {

     super.onUserInteraction();

     userInteracts = true;

}

我的调整在 MainActivity.java 中如此


mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        int check = 0;

        @Override

        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {


            if (IsInteracting) {

                Intent intent = getIntent(); //MainActivity

                String itemSelected = mySpinner.getItemAtPosition(mySpinner.getSelectedItemPosition()).toString();


                //TODO: DONE

                prefManager.spinWriteString(itemSelected);

                Toast.makeText(getApplicationContext(), "Constituency News Now Showing", Toast.LENGTH_SHORT).show();

                startActivity(intent);

                finish();

            }

        }


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信