保存对话框输入

保存对话框输入

问题描述:

我的应用程序中有一些按钮,当点击它们时会打开一个对话框。 在这些对话框中,用户可以用edittext填写他的作业。 无论如何,我想保存该用户输入,以便如果我关闭对话框或应用程序,我能够回忆这些数据,并且因为我是新的eclipse和编程,我不知道该怎么做。保存对话框输入

这是我的MainActivity

public class MainActivity extends ActionBarActivity { 

protected static final String TAG = null; 
private Button bthomeWork; 
private Button bthomeWork1; 
private Button bthomeWork2; 
private Button bthomeWork3; 
private Button bthomeWork4; 
private AlertDialog.Builder dialogbuilder; 
private String strName=""; 




private void homeworkdialog(){ 
    dialogbuilder = new AlertDialog.Builder(this); 
    final EditText txtinput = new EditText(this); 
    dialogbuilder.setTitle("Homework"); 
    dialogbuilder.setMessage("Was sind deine Hausaufgaben?"); 
    dialogbuilder.setView(txtinput); 
    dialogbuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 

     @SuppressLint("ShowToast") @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      strName+= txtinput; 
      Toast.makeText(getApplicationContext(), "Eingetragen", Toast.LENGTH_SHORT); 
     } 
    }); 

    dialogbuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 

     @SuppressLint("ShowToast") @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      Toast.makeText(getApplicationContext(), "Kein Eintrag", Toast.LENGTH_SHORT); 

     } 
    }); 

    dialogbuilder.show(); 

} 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.fragment_main); 


    bthomeWork = (Button)findViewById(R.id.bthomeWork); 
    bthomeWork1= (Button)findViewById(R.id.bthomeWork1); 
    bthomeWork2= (Button)findViewById(R.id.bthomeWork2); 
    bthomeWork3= (Button)findViewById(R.id.bthomeWork3); 
    bthomeWork4= (Button)findViewById(R.id.bthomeWork4); 
    bthomeWork.setOnClickListener(new View.OnClickListener() { 


     public void onClick(View v) { 
      // TODO Auto-generated method stub 
       homeworkdialog(); 
     } 
     }); 
    bthomeWork1.setOnClickListener(new View.OnClickListener() { 


     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      homeworkdialog(); 
     } 
     }); 

希望你能帮助我:)

+0

代替'strName + = txtinput;'可以通过变量'strName'访问你的文本... – 2014-09-11 11:28:57

+0

如果你想将编辑框的文本设置为上次输入的内容,只需执行'txtinput.setText(strName);' – 2014-09-11 11:30:20

你可以得到文字和EDITTEXT的值保存到一个字符串

String MyText = txtinput.getText().toString(); 

然后你可以使用sharedPreferences或将数据保存到数据库中,具体取决于您想要执行的操作。

您可以在共享偏好保存价值这样

SharedPreferences sp = getSharedPreferences("key", 0); 
SharedPreferences.Editor sedt = sp.edit(); 
sedt.putString("textvalue", txtInput.getText().toString()); 
sedt.commit(); 

然后你就可以在另一个活动获取已保存的文本或任何在您的项目像这样

SharedPreferences sp = getSharedPreferences("key", 0); 
String textValue = sp.getString("textvalue",""); 

更多有关使用共享偏好检查跳出此链接http://www.tutorialspoint.com/android/android_shared_preferences.htm

还要注意,sharedpreferences存储为简单的xml值...所以任何拥有扎根android手机的人都可以轻松访问保存的值...所以如果你w如果你把`strName + = txtinput.getText()。toString();`那么你可以检查出保持数据在android编程中的安全的方法http://www.androidsnippets.com/encryptdecrypt-strings

+0

如果我的代码看起来像使用sharedPreferences?正如我所说我也是新的:) – Alstai 2014-09-11 11:40:07