使用数组传递edittext值

时间:2013-09-19 08:26:52

标签: android arrays android-intent android-edittext textview

我有超过3个edittext。当我在edittext中输入内容时,我需要将其保存到另一个屏幕。我提到了一些问题得到了答案。但是如何通过数组。我使用每个edittext的单独putExtra方法和另一个我需要显示一个TextView的屏幕。现在我为每个人创建了单独的TextView。

代码:

的活动:

 et=(EditText)findViewById(R.id.et);

            et1=(EditText)findViewById(R.id.et1);

            btn=(Button)findViewById(R.id.btn);

            btn.setOnClickListener(new OnClickListener(){

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    Intent intent = new Intent(Save.this, Get.class);
                String[] myStrings = new String[] {"et.getText().toString()", "et1.getText().toString()"};
                intent.putExtra("strings", myStrings);
                startActivity(intent);


SharedPreferences preferences = getDefaultSharedPreferences(this);
                  SharedPreferences.Editor editor = preferences.edit();
                  editor.putString("Name","test");
                  editor.commit();

                    }


            });

活性1:

    Intent intent = getIntent();
              String[] myStrings = intent.getStringArrayExtra("strings");

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
          String name = preferences.getString("Name","");


              txt=(TextView)findViewById(R.id.txt);
                txt.setText(myStrings); 

2 个答案:

答案 0 :(得分:2)

我会写一个完整的答案。

Intent intent = new Intent(Save.this, Get.class);
String[] myStrings = new String[] { et.getText().toString() ,  et1.getText().toString() };
intent.putExtra("strings", myStrings);
startActivity(intent);

然后

Intent intent = getIntent();
String[] myStrings = intent.getStringArrayExtra("strings");

txt1=(TextView)findViewById(R.id.txt1);
txt1.setText(myStrings[0]);

txt2=(TextView)findViewById(R.id.txt2);
txt2.setText(myStrings[1]); 

或者您可以加入字符串并将其传递给单个TextView

Intent intent = getIntent();
String[] myStrings = intent.getStringArrayExtra("strings");

String joined = myStrings[0] + " - " + myStrings[1];

txt=(TextView)findViewById(R.id.txt);
txt.setText(joined);

希望这会有所帮助。


通常我会用一些静态方法编写一个处理SharedPrenferences的类,比如:

public class Storage {

    public static String getName(Context context) {
        final SharedPreferences prefs = context.getSharedPreferences("com.my.package", Context.MODE_PRIVATE);
        return prefs.getString("name", "");
    }

    public static void setName(Context context, String name) {
        final SharedPreferences prefs = context.getSharedPreferences("it.enrichman.bolloauto", Context.MODE_PRIVATE);
        prefs.edit().putString("name", name).commit();
    }

}

您可以尝试在第一次活动中第一次存储它,然后在第二次活动中将其存储。使用Toast进行测试。

答案 1 :(得分:0)

此代码正常运行。

    scrollview=(ScrollView)findViewById(R.id.scrollview1); 
    tb2.setTextSize(30); 
    tb2.setMovementMethod(new ScrollingMovementMethod());
    scrollview.post(new Runnable() { 
    public void run() { 
        scrollview.fullScroll(View.FOCUS_DOWN);  
        }
    }); 
    chat1.setOnClickListener(new OnClickListener() { 
        public void onClick(View v) { 
         {
             textsaring1=edt1.getText().toString();
             tb2.setText(tb2.getText()+" "+textsaring1);
             edt1.setText(" ");
        } 
        }
    }); 
}