使用SharedPreferences从按钮单击中保存两个编辑文本的信息

时间:2013-10-22 17:59:26

标签: java android

我正在尝试使用sharedpreferences将一个活动上的2个edittext文本转换为另一个活动上的2个文本视图。 虽然我已经和sucefully使用了这个方法,但只有一个edittext到一个textview。 这次我不知道什么是错的,因为我无法访问我定义的字符串,只得到我输入的默认值。 希望你们能帮助我 提前谢谢。

第一项活动:

eActname = (EditText) findViewById(R.id.eACTName);
                eActbud = (EditText) findViewById(R.id.eACTBud);
                nameData = getSharedPreferences(namefilename, 0);
                budData = getSharedPreferences(budfilename, 0);
 
                bCreate = (Button) findViewById(R.id.bCreateActivity);
                bCreate.setOnClickListener(new View.OnClickListener() {
 
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                Intent o = new Intent(ActivityCreate.this, ActView.class);
                                String[] actstrings = new String[] {
                                                eActname.getText().toString(),
                                                eActbud.getText().toString() };
                                o.putExtra("string", actstrings);
 
                                switch (v.getId()) {
                                case R.id.bCreateActivity:
                                        bCreateClick();
 
                                        break;
                                }
                        }
 
                        private void bCreateClick() {
                                // TODO Auto-generated method stub
                                String namestringData = eActname.getText().toString();
                                SharedPreferences.Editor editor = nameData.edit();
                                editor.putString("namesharedString", namestringData);
                                editor.commit();
                                String budstringData = eActbud.getText().toString();
                                SharedPreferences.Editor budeditor = budData.edit();
                                budeditor.putString("budsharedString", budstringData);
                                budeditor.commit();

现在是第二个活动的代码:

tvActName = (TextView) findViewById(R.id.tvActName);
                tvActBud = (TextView) findViewById(R.id.tvActBud);
                Intent o = getIntent();
                o.getStringArrayExtra("strings");
                tvActName.setText(o.getStringExtra("text"));
                tvActBud.setText(o.getStringExtra("text"));
                nameData = getSharedPreferences(namefilename, 0);
                budData = getSharedPreferences(budfilename, 0);
                String [] actdataReturned = {nameData.getString("namesharedString", "Error"), budData.getString("budsharedString", "Error")} ;
                
                tvActName.setText(actdataReturned[0]);
                tvActBud.setText(actdataReturned[1]);

1 个答案:

答案 0 :(得分:0)

当您将数据写入意图时,您将其命名为" string"当你读到你为它命名的数据"字符串"。