Массив приложений Android в текстовое представление на новой странице

#android #arrays #textview

#Android #массивы #текстовое представление

Вопрос:

Я довольно новичок в программировании на Android, и на данный момент я программирую приложение.

В моем приложении вы получаете listview, который заполняется массивом. Он заполнен именами. Когда я нажимаю на имя, открывается новый экран. На этом экране у меня есть текстовое представление. Я хочу, чтобы это текстовое представление было заполнено выбранным именем listview (массива).

Я пытался найти его в Интернете, учебные пособия для этого, но не смог найти ни одного. Если кто-нибудь сможет мне помочь, я бы очень оценил это 🙂

Комментарии:

1. успешно ли вы запускаете новое приложение? это действительно просто, используя a OnItemClickedListener (для определения щелчка) и используя an Intent для использования с startActivity функцией

2. OnItemClickedListener вы получаете позицию и получаете значение из этой позиции массива, а также получаете строковое значение элемента массива и переходите к новому действию………

Ответ №1:

Я предполагаю, что вы попадаете на новый экран (который, как я полагаю, является действием) с помощью намерения.

После того, как вы создали намерение

 Intent intent = new Intent (... );
  

вы можете добавить дополнительную информацию к этому намерению.

 intent.putExtra("param_name", value);
  

В новом действии вы можете получить намерение с помощью:

 Intent callerIntent = getIntent();
if (callerIntent.hasExtra("param_name")) {
     int value = callerIntent.getIntExtra("param_name", default_value);
}
  

Существуют различные типы, которые намерение может содержать как дополнительные. Проверьте http://developer.android.com/reference/android/content/Intent.html

Комментарии:

1. затем просто поместите «sipIntent.putExtra (…)» непосредственно перед startActivity.

2. значение int = callerIntent.getIntExtra(«param_name»); не работает. в нем говорится, что getIntentExtra неверен. =(

3. мой плохой. getIntExtra имеет второй параметр с параметром по умолчанию. я отредактировал ответ

4. Но каково значение по умолчанию и как я могу получить информацию, которую я взял в текстовом представлении? Я не могу просто сказать EditText name = (EditText) findViewById(R.id.txtNaamAgent); name.setText(callerIntent); или что-то в этом роде. или я неправильно понимаю?

5. затем вместо использования выбранного индекса (значения int ) в качестве дополнительного int используйте полученный текст в виде строки (getStringExtra).

Ответ №2:

используйте

 intent.putExtra("clickedName", name[position]);
  

и в следующем действии.

 String clickedName = getIntent().getStringExtra("clickedName");
  

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

Ответ №3:

Сделайте что-то вроде этого.Напишите эту функцию вне метода onCreate() metho5

 public void onListItemClick(ListView parent, View v, int position, long id) {

        Intent i = new Intent(this, your_target_activity.class);
        Bundle b = new Bundle();
        b.putInt("name", your_array[position]);
        i.putExtras(b);
        startActivityForResult(i);
        finish();
    }