0

Activity に editText があります。この値を保存して後で取得するために SharedPreference を使用しました。この edittext 値を別のアクティビティ ボタン テキストに渡しました。テキストが edittext から来ている間、ボタンをインクリメントする必要があります。しかし、問題は、テキストを入力してテストすると、テストテキストでボタンが作成されることです。test1 を作成すると、ボタン test が test1 に置き換えられます。test と test1 を 2 つのボタンで表示する必要があります。

コード:

アクティビティ:

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) {

    SharedPreferences preferences = getSharedPreferences("sample",0);
                      SharedPreferences.Editor editor = preferences.edit();
                     editor.putString("Name",et.getText().toString());
                     editor.putString("Name1",et1.getText().toString());

                      editor.commit();

                      Intent intent = new Intent(Activity.this, Activity1.class);
                      startActivity(intent);

}


});

アクティビティ 1:

LinearLayout layout = (LinearLayout) findViewById(R.id.linear);

        SharedPreferences preferences = getSharedPreferences("sample",0);
        String Namestr=(preferences.getString("Name",""));

        String newString="";

          if(Namestr.length()>0&& Namestr.equalsIgnoreCase(newString)){

              newString=Namestr;

              Button button = new Button(Get.this);

             // button.setText("hellow");
              button.setText(preferences.getString("Name", ""));
            layout.addView(button);

xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_marginTop="0dp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/linear"    >

表示されるボタンは 1 つだけです。test と入力すると、ボタンにテスト テキストが表示され、test2 と入力すると、テストが test2 に置き換えられます。新しいボタンをtest2で作成する必要があるテキストを置き換えたくありません。

4

4 に答える 4

0

以下のコードを参考にして、独自のロジックを開発してください。

 String newString="";

     if(Namestr.length()>0 && Namestr.equalIgnoreCase(newString)){

    newString=namestr;
    //YOUR STUFF

    }
于 2013-09-20T09:02:04.280 に答える