Отображение списка в другом действии при нажатии на элемент в ListView - PullRequest
0 голосов
/ 22 сентября 2018

в первую очередь извините за мой английский, если он плохой: D

Мой вопрос: у меня есть 2 массива, один для элементов в ListView, другой для того, когда вы нажимаете элементы, они появятся в другой деятельности,Как я могу это сделать?

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

это моя первая активность

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

    ListView listView = (ListView) findViewById(R.id.listMahluk);

    final ArrayList<String> list1= new ArrayList<String>();

ArrayList<String> list2 = new ArrayList<String>();

ArrayAdapter arrayAdapter = new ArrayAdapter(this, R.layout.list_white_text, list1);
    listView.setAdapter(arrayAdapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent intent = new Intent(getApplicationContext(), MahlukdetayActivity.class);
            intent.putExtra("name", list1.get(position));
            startActivity(intent);
        }
    });
}

это мой второй

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

    TextView exampleText = (TextView) findViewById(R.id.exampleText);

    Intent intent = getIntent();
    String name = intent.getStringExtra("name");

    exampleText.setText(name);

}

, таким образом я могу показать list1, но я хочу показать list2 вместо list1.

Ответы [ 3 ]

0 голосов
/ 22 сентября 2018

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

Вы также можете сделать список статическим и использовать его в другом упражнении.

0 голосов
/ 22 сентября 2018

Сделайте все просто: объявите второй массив как статический и получите доступ к нему во втором действии.

FirstActivity.java
publid static ArrayList<String> mMyList = new ArrayList<>();

SecondActivity.java
//access 
System.out.println("My List : "+FirstActivity.mMyList );
0 голосов
/ 22 сентября 2018

Вы хотите отправить arrayList от одного занятия ко второму занятию и показать в списке во втором занятии

ArrayList<String> list = new ArrayList<String>();

Intent intent = new Intent(this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("list",list);
intent.putExtras(bundle);       
this.startActivity(intent);

Во втором занятии

Bundle bundle = getIntent().getExtras();
ArrayList<String> list = bundle.getParcelableArrayList("list");
...