Как создать новую активность на клике - PullRequest
0 голосов
/ 03 марта 2019

Я довольно новичок в Android Studio, и я не могу найти нигде, чтобы начать с моей проблемы.У меня есть Recycler View, который работает нормально, и у меня есть щелчок по функциональности отдельных карт, работающий нормально.Однако у меня есть проблема;Можно ли создать совершенно новый вид деятельности для каждого элемента в представлении переработчика?Размер представления переработчика всегда будет меняться.Активность, к которой вы будете переходить по карте, будет одним и тем же шаблоном, но с другой информацией.Таким образом, поскольку одна карта удалена, будет отображаться действие, с которым она связана, и когда она создается с помощью кнопки, с ней будет связан пустой шаблон, ожидающий ввода информации пользователем.Таким образом, могут быть десятки этих действий, все с одной и той же информацией.Будем благодарны за любую информацию, касающуюся этого.

edit: я знаю, как использовать намерения, моя проблема не в переходе между действиями, а в создании нового действия после добавления новой карты в представлении рециркулятораэто шаблон предварительно разработанного действия, связанного с недавно созданным представлением карты.Сгенерированные активности должны быть независимы друг от друга, и в редактируемые тексты добавляется различная введенная пользователем информация.Я просто не знаю, как автоматически создавать новую версию действия для каждой созданной карты.

Ответы [ 2 ]

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

Создайте интерфейс в вашем адаптере

public interface onItemClickListener{
    void onAcitivityCreated();
}

создайте экземпляр на вашем интерфейсе, например

private onItemClickListener onitemClickListener; 

, затем передайте его в качестве параметра в конструкторе в адаптере

в своей деятельности при создании объекта адаптера вы должны будете передать (это), а также реализовать интерфейс в своей деятельности, например: MyActivity реализует onItemClickListener и реализует все методы, и здесь вы можете написать всю свою реализацию метода, так что вам не придется делать этов вашем адаптере.

Наконец, вы можете создать статический метод в ваших действиях, а затем вы можете легко использовать его для открытия нового действия.

public static void open(@NonNull Context context) {
    context.startActivity(new Intent(context, YourActivity.class));
}

Основные вещи, когда у вас есть свой предмет,Cardview и т. д. в адаптере.Вы реализуете onclick, чтобы открыть новое действие.При его реализации вам нужно будет передать свой интерфейс и просто передать туда любой параметр, который вам нужен.

Может быть сложным, но это лучшее решение здесь.

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

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

// Start with Intent extra in FirstActivity
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("DATA", clickedIndex);
startActivity(intent);

Во втором упражнении OnCreate

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

    // Get the Intent that started this activity and extract the clickedIndex
    Intent intent = getIntent();
    int index = intent.getIntExtra("DATA",-1);

    if(index != -1){
        //TODO do your value changes in the layout
    }
}
...