android– 如何在片段中实现onBackPressed()&intents?

android– 如何在片段中实现onBackPressed()&intents?,第1张

概述我知道onBackPressed()是一个活动中的方法但是,我想在片段中使用这些功能,这样当按下后退按钮时,它会通过Intent重定向到另一个活动.这有什么解决方案吗?publicclassNews_Events_fragmentextendsFragment{ProgressDialogpd;ListViewlv1;SharedPreferencessharedPrefere

我知道onBackpressed()是一个活动中的方法但是,我想在片段中使用这些功能,这样当按下后退按钮时,它会通过Intent重定向到另一个活动.这有什么解决方案吗?

public class News_Events_fragment extends Fragment {ProgressDialog pd;ListVIEw lv1;SharedPreferences sharedPreferences = null;int NotiCount;TextVIEw txt_Title, txt_msg, textVIEw;Context context;Intent intent ;ArrayList<SlIDerMsgTitleModel> CurrentOfficersPastList;NewsActivityAdapter pastAdapter;@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container,        Bundle savedInstanceState) {    context = (Context) getActivity();    VIEw rootVIEw = inflater.inflate(R.layout.activity_news, container, false);    new AsyncTask<VoID, VoID, ArrayList<SlIDerMsgTitleModel>>() {        protected voID onPreExecute() {            pd = new ProgressDialog(getActivity());            pd.setCancelable(true);            pd.setTitle("UPOA");            pd.setMessage("Please wait,loading the data...");            pd.show();        }        @OverrIDe        protected ArrayList<SlIDerMsgTitleModel> doInBackground(                VoID... params) {            System.out.println("In Background");            CurrentOfficersPastList = new ArrayList<SlIDerMsgTitleModel>();            // display vIEw for selected nav drawer item            Parsequery<ParSEObject> query = Parsequery.getquery("message");            query.whereEqualTo("featured_status", true);            // query.whereEqualTo("push_status", true);            query.orderByDescending("updatedAt");            query.selectKeys(Arrays.asList("Title"));            query.selectKeys(Arrays.asList("message"));            try {                query.setCachePolicy(Parsequery.CachePolicy.NETWORK_ELSE_CACHE);                List<ParSEObject> results = query.find();                for (int i = 0; i < results.size(); i++) {                    ParSEObject object = results.get(i);                    CurrentOfficersPastList.add(new SlIDerMsgTitleModel(                            object.getString("Title"), object                                    .getString("message")));                    System.out.println("Title is=="                            + object.getString("Title") + "&& message is"                            + object.getString("message") + "size is"                            + CurrentOfficersPastList.size());                }            } catch (Exception e) {                e.getMessage();            }            pd.dismiss();            return CurrentOfficersPastList;        }        @SuppressWarnings("unchecked")        @OverrIDe        protected voID onPostExecute(ArrayList<SlIDerMsgTitleModel> value) {            pd.dismiss();            /*Intent ent = new Intent(getActivity(), NewsActivity.class);            ent.putExtra("NEWSList", (ArrayList<SlIDerMsgTitleModel>) value);            startActivity(ent);            System.out.println("Value is" + value.size());*/            CurrentOfficersPastList = new ArrayList<SlIDerMsgTitleModel>();            CurrentOfficersPastList = value;            lv1 = (ListVIEw) getActivity().findVIEwByID(R.ID.List_Title);            pastAdapter = new NewsActivityAdapter(getActivity(), R.layout.activity_news_txt, CurrentOfficersPastList);            lv1.setAdapter(pastAdapter);        }    }.execute();    return rootVIEw;}public voID onBackpressed() {    // Todo auto-generated method stub    //super.onBackpressed();    //Toast.makeText(getApplicationContext(), "click",2000).show();            String cameback="CameBack";            intent = new Intent(getActivity(),HomeActivity.class);            intent.putExtra("Comingback", cameback);            startActivity(intent);} }

解决方法:

覆盖onKeyDown而不是onBackpressed.不必要 .但这对我有用

public boolean onKeyDown(int keyCode, KeyEvent event) {        switch (keyCode) {            case KeyEvent.KEYCODE_BACK:                String cameback="CameBack";                intent = new Intent(getActivity(),HomeActivity.class);                intent.putExtra("Comingback", cameback);                startActivity(intent);                return true    }            return false;}
总结

以上是内存溢出为你收集整理的android – 如何在片段中实现onBackPressed()&intents?全部内容,希望文章能够帮你解决android – 如何在片段中实现onBackPressed()&intents?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1103057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存