保存和恢复实例

编程入门 行业动态 更新时间:2024-10-28 11:22:18
本文介绍了保存和恢复实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

在LogoQuiz比赛,当我们进入一个正确的答案,显示了答案和活动froen。每当我们回到那个屏幕相同的显示。这是怎么一回事?任何人都可以提供一个例子?

公共类Activity3扩展活动实现OnClickListener {私人按钮HINT1;私人按钮提示二;@覆盖保护无效的onCreate(捆绑savedInstanceState){    super.onCreate(savedInstanceState);    的setContentView(R.layout.activity_activity3);    HINT1 =(按钮)findViewById(R.id.Hint1);    提示二=(按钮)findViewById(R.id.Hint2);    Hint1.setOnClickListener(本);    Hint2.setOnClickListener(本);    Hint2.setEnabled(假);    最终的EditText输入=(EditText上)findViewById(R.id.answer);    最终的TextView显示=(的TextView)findViewById(R.id.response);    input.setOnKeyListener(新OnKeyListener(){        @覆盖        公共布尔安其(视图V,INT键code,KeyEvent的事件){             如果((event.getAction()== KeyEvent.ACTION_DOWN)及&放大器;                        (关键code == KeyEvent.KEY code_ENTER)){            字符串检查= input.getText()的toString()代替(,)。;            如果(check.equalsIgnoreCase(好)){                display.setText(正确);                input.setEnabled(假);            }其他{                display.setText(错误);            }            返回true;            }            返回false;}                    });    }@覆盖公共无效的onClick(查看视图){    开关(view.getId()){    案例R.id.Hint1:        showOneButtonDialog();        打破;    案例R.id.Hint2:        showTwoButtonDialog();        打破;}}私人无效showOneButtonDialog(){    AlertDialog.Builder dialogBu​​ilder =新AlertDialog.Builder(本);    dialogBu​​ilder.setTitle(提示1);    Hint2.setEnabled(真);    dialogBu​​ilder.setMessage(这是你HINT1);    AlertDialog alertDialog = dialogBu​​ilder.create();    alertDialog.show();}私人无效showTwoButtonDialog(){    AlertDialog.Builder dialogBu​​ilder =新AlertDialog.Builder(本);    dialogBu​​ilder.setTitle(提示2);    dialogBu​​ilder.setMessage(这是你的提示二);    AlertDialog alertDialog = dialogBu​​ilder.create();    alertDialog.show();}}

解决方案

您应该保存instace共享preferences

例如:您需要保存字符串变量 RES 这样做

共享preferences preF = preferenceManager.getDefaultShared preferences(YourActivityName.this);编辑EDIT1 =了rememberMe pref.edit();                edit1.putString(result_key,youredittext.getText()的toString);                edit1mit();

要检索的onCreate你的结果()使用下列内容:

共享preferences preF = preferenceManager.getDefaultShared preferences(YourActivityName.this);字符串RES1 = pref.getString(result_key);如果(res1.eqauls(正确){youredittext.setText(正确);}

现在使用存储在 RES1 你的结果,你想要的方式。最重要的是要检查您是否使用相同的密钥恢复以及WS店共享preference值

希望这有助于..

In LogoQuiz game when we enter a correct answer, the answer is displayed and the activity is froen. Whenever we go back to that screen the same is displayed. How is that done? Could anyone provide an example?

public class Activity3 extends Activity implements OnClickListener { private Button Hint1; private Button Hint2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_activity3); Hint1 = (Button) findViewById(R.id.Hint1); Hint2 = (Button) findViewById(R.id.Hint2); Hint1.setOnClickListener(this); Hint2.setOnClickListener(this); Hint2.setEnabled(false); final EditText input = (EditText) findViewById(R.id.answer); final TextView display = (TextView) findViewById(R.id.response); input.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { String check = input.getText().toString().replace(" ",""); if(check.equalsIgnoreCase("good")){ display.setText("correct"); input.setEnabled(false); } else{ display.setText("Wrong"); } return true; } return false;} }); } @Override public void onClick(View view) { switch(view.getId()){ case R.id.Hint1: showOneButtonDialog(); break; case R.id.Hint2: showTwoButtonDialog(); break; }} private void showOneButtonDialog() { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); dialogBuilder.setTitle(" Hint 1 "); Hint2.setEnabled(true); dialogBuilder.setMessage(" This is your Hint1"); AlertDialog alertDialog = dialogBuilder.create(); alertDialog.show(); } private void showTwoButtonDialog() { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); dialogBuilder.setTitle(" Hint 2 "); dialogBuilder.setMessage("This is your Hint2 "); AlertDialog alertDialog = dialogBuilder.create(); alertDialog.show(); } }

解决方案

you should save your instace in SharedPreferences

for example: you need to save your String variable res to do so

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(YourActivityName.this); Editor edit1 = remembermepref.edit(); edit1.putString("result_key",youredittext.getText().toString); edit1mit();

To retrieve your result in onCreate() use following:

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(YourActivityName.this); String res1 = pref.getString("result_key"); if(res1.eqauls("correct") { youredittext.setText("correct"); }

Now use your result stored in res1,way you want. Most important thing is to check whether you have used same key to restore as well ws store the value in SharedPreference

Hope this helps..

更多推荐

保存和恢复实例

本文发布于:2023-10-26 11:33:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1530017.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:实例

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!