Передать строку из одного действия в другое в Android - PullRequest
47 голосов
/ 15 июля 2011

Это моя строка:

private final String easyPuzzle ="630208010200050089109060030"+
                                 "008006050000187000060500900"+
                                 "09007010681002000502003097";

Я хочу показать эту строку в другой игре на доске судоку 9 * 9.

Ответы [ 7 ]

135 голосов
/ 15 июля 2011

Вам необходимо передать его как дополнительное:

String easyPuzzle  = "630208010200050089109060030"+
                     "008006050000187000060500900"+
                     "09007010681002000502003097";

Intent i = new Intent(this, ToClass.class);
i.putExtra("epuzzle", easyPuzzle);
startActivity(i); 

Затем извлеките его из своей новой деятельности, например:

Intent intent = getIntent();
String easyPuzzle = intent.getExtras().getString("epuzzle");
16 голосов
/ 29 апреля 2017

В деятельности1

    String easyPuzzle  = "630208010200050089109060030"+
                 "008006050000187000060500900"+
                 "09007010681002000502003097";

    Intent i = new Intent (this, activity2.class);

    i.putExtra("puzzle", easyPuzzle);
    startActivity(i);

В деятельности2

    Intent i = getIntent();
    String easyPuzzle = i.getStringExtra("puzzle");
7 голосов
/ 04 июня 2015
private final String easyPuzzle ="630208010200050089109060030"+
                             "008006050000187000060500900"+
                             "09007010681002000502003097";
Bundle ePzl= new Bundle();
ePzl.putString("key", easyPuzzle);

Intent i = new Intent(MainActivity.this,AnotherActivity.class);
i.putExtras(ePzl);
startActivity(i);

Теперь перейдите к AnotherActivity.java

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

    Bundle p = getIntent().getExtras();
    String yourPreviousPzl =p.getString("key");

}

, теперь "yourPreviousPzl" - это желаемая строка.

3 голосов
/ 03 апреля 2018

In ActivityOne,

Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
intent.putExtra("data", somedata);
startActivity(intent);

In ActivityTwo,

Intent intent = getIntent();
String data = intent.getStringExtra("data");
3 голосов
/ 07 июня 2015

Опубликовать значение из

Intent ii = new Intent(this, GameStartPage.class);

// ii.putExtra("pkgName", B2MAppsPKGName);

ii.putExtra("pkgName", YourValue);
ii.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(ii);

Получить значение из

pkgn = getIntent().getExtras().getString("pkgName");
1 голос
/ 04 июня 2015

Скорее всего, как говорили другие, вы хотите присоединить его к Intent с помощью putExtra. Но я хочу отметить, что, в зависимости от вашего варианта использования, может быть лучше иметь одно действие, которое переключается между двумя фрагментами. Данные хранятся в операции и никогда не должны передаваться.

0 голосов
/ 13 марта 2019

Первый код активности:

Intent mIntent = new Intent(ActivityA.this, ActivityB.class);
mIntent.putExtra("easyPuzzle", easyPuzzle);

Второй код активности:

String easyPuzzle = getIntent().getStringExtra("easyPuzzle");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...