当前位置: 代码迷 >> java >> 如何在单击时生成新活动
  详细解决方案

如何在单击时生成新活动

热度:38   发布时间:2023-07-25 19:47:05.0

我对 android studio 还很陌生,我似乎找不到任何地方可以解决我的问题。 我有一个工作正常的回收站视图,我可以点击单个卡片的功能工作正常。 但是,我有一个问题; 是否可以在回收商视图中为每个项目生成一个全新的活动? 回收器视图的大小将始终在变化。 单击卡片将带您进入的活动将是相同的模板,只是具有不同的信息。 所以,当一张卡片被删除时,它所链接的活动也将被删除,而当一张卡片通过按钮创建时,一个空模板将链接到它等待用户输入信息。 因此,可能有几十个这些活动都是相同的,只是信息不同。 任何有关这方面的信息将不胜感激。

编辑:我知道如何使用意图,我的问题不是在活动之间导航,而是生成一个新活动,一旦在回收者视图中添加了新卡,这是一个链接到新创建的预设计活动的模板卡视图。 生成的活动必须彼此独立,将不同的用户输入信息添加到编辑文本中。 我只是不知道如何为创建的每张卡片自动创建活动的新版本。

我认为您期望的是根据用户单击 RecyclerView 的项目启动一个新的 Activity。 您可以通过将 Intent extra 传递给第二个 Activity 并通过读取 Intent extra 来更改第二个 Activity 的内容来实现这一点。

// 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
    }
}

在您的适配器中创建一个接口

public interface onItemClickListener{
    void onAcitivityCreated();
}

在您的界面上创建实例,例如

private onItemClickListener onitemClickListener; 

然后在适配器的构造函数中将其作为参数传递

在您的活动中创建适配器对象时,您将必须传递(this)并在您的活动中实现接口,例如:MyActivity实现onItemClickListener并实现所有方法,在这里您可以编写该方法的所有实现,因此您不必这样做在您的适配器中。

最后,您可以在您的活动中创建静态方法,然后您可以轻松地使用它来打开新活动。

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

主要的东西,当你在适配器中有你的项目、cardview 等时。 您正在实施 onclick 以打开新活动。 在实现它时,您将不得不传递您的接口,并只传递您需要的任何参数。

可能很复杂,但它是这里最好的解决方案。

  相关解决方案