保存对话框输入

时间:2014-09-11 11:25:24

标签: java android eclipse

我的应用程序中有一些按钮,当点击它们时会打开一个对话框。 在这些对话框中,用户可以在编辑文本中填写他的作业。 无论如何我想保存那个用户输入,所以如果我关闭对话框或应用程序我能够回忆起那些数据,因为我是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();
        }
        });

希望你能帮助我:)。

1 个答案:

答案 0 :(得分:1)

您可以获取文本并将editText的值保存到String

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

并且还注意到共享偏好存储为简单的xml值...所以任何拥有root权限的Android手机都可以轻松访问保存的值...所以如果你想保持数据安全,你可以查看方法在android编程http://www.androidsnippets.com/encryptdecrypt-strings

中保持数据安全