在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 dialogBuilder =新AlertDialog.Builder(本); dialogBuilder.setTitle(提示1); Hint2.setEnabled(真); dialogBuilder.setMessage(这是你HINT1); AlertDialog alertDialog = dialogBuilder.create(); alertDialog.show();}私人无效showTwoButtonDialog(){ AlertDialog.Builder dialogBuilder =新AlertDialog.Builder(本); dialogBuilder.setTitle(提示2); dialogBuilder.setMessage(这是你的提示二); AlertDialog alertDialog = dialogBuilder.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..
更多推荐
保存和恢复实例
发布评论