Doughnatch Ответов: 1

В чем разница между getextras (). getstring ("тест") и getstringextra ("тест")?


Я не вижу большой разницы между ними, но первый просит помощи Bundle, в то время как другой непосредственно получает строку из намерения. Мне кажется, что это стандартная процедура, так как это всегда то, что я вижу из другого кода.

Основная активность:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);

    TextView usersNameMessage = (TextView) findViewById(R.id.users_name_message);

    String nameSentBack = data.getStringExtra("UsersName");

    usersNameMessage.append(" " + nameSentBack);
}


SecondActivity:

protected void onCreate(Bundle savedInstanceState)
{
	super.onCreate(savedInstaceState);
	
	setContentView(R.layout.second_layout);
	
	// gets the intent that called the SecondScreen activity.
	Intent activityThatCalled = getIntent();
	// gets the data passed by the previous activity by providing the name.
	String previousActivity = activityThatCalled.getExtras().getString("nameOfThedataToBePassed");

}


Что я уже пробовал:

Я попытался поискать об этом, но не нашел ответа, специфичного для этого использования.

1 Ответов

Рейтинг:
1

Richard MacCutchan

getExtras[^] сначала возвращает сверток, в то время как getStringExtra[^] непосредственно возвращает строку.


Doughnatch

Я уже знаю это, но есть ли более существенная причина делать это таким образом, если я могу просто использовать getExtras() в одиночку или наоборот?

Richard MacCutchan

Я не знаю. Я предлагаю прочитать документацию и запустить несколько тестовых приложений.