问题描述
我对 android studio 还很陌生,我似乎找不到任何地方可以解决我的问题。 我有一个工作正常的回收站视图,我可以点击单个卡片的功能工作正常。 但是,我有一个问题; 是否可以在回收商视图中为每个项目生成一个全新的活动? 回收器视图的大小将始终在变化。 单击卡片将带您进入的活动将是相同的模板,只是具有不同的信息。 所以,当一张卡片被删除时,它所链接的活动也将被删除,而当一张卡片通过按钮创建时,一个空模板将链接到它等待用户输入信息。 因此,可能有几十个这些活动都是相同的,只是信息不同。 任何有关这方面的信息将不胜感激。
编辑:我知道如何使用意图,我的问题不是在活动之间导航,而是生成一个新活动,一旦在回收者视图中添加了新卡,这是一个链接到新创建的预设计活动的模板卡视图。 生成的活动必须彼此独立,将不同的用户输入信息添加到编辑文本中。 我只是不知道如何为创建的每张卡片自动创建活动的新版本。
1楼
我认为您期望的是根据用户单击 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
}
}
2楼
在您的适配器中创建一个接口
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 以打开新活动。 在实现它时,您将不得不传递您的接口,并只传递您需要的任何参数。
可能很复杂,但它是这里最好的解决方案。