Android 卡片视图单击卡片以转到下一个活动
我正在安卓系统上做一个项目,我刚刚了解了卡片视图课程。 我制作了一张卡片,当用户点击它时,它会生成一个祝酒词。Android 卡片视图单击卡片以转到下一个活动,android,android-cardview,Android,Android Cardview,我正在安卓系统上做一个项目,我刚刚了解了卡片视图课程。 我制作了一张卡片,当用户点击它时,它会生成一个祝酒词。 但我也希望我的卡在用户单击时调用另一个活动。 我在下面发布我的部分代码 btnProceed.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showToast("Proceed to the n
但我也希望我的卡在用户单击时调用另一个活动。
我在下面发布我的部分代码
btnProceed.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showToast("Proceed to the next step");
Intent intent = new Intent(MyLocationUsingLocationAPI.this, click_picture.class);
startActivity(intent);
}
});
正如您所说,我已经对代码进行了更改,但当我单击“继续”按钮时,我的应用程序崩溃。代码有什么问题?这里的主要思想是定义您的actionClickListener 1.创建自定义recycleView适配器 3.创建接口的属性并为其定义setter 4.在适配器类中创建每个项时,将侦听器附加到每个项 创建回收视图的项目时将调用此方法(如果在回收视图中使用卡片视图) 5.在所需的活动中使用onClickListener
这段视频帮助我解决了我的问题。如果将来有人面临同样的问题,请查看这段视频 它的可能副本与按钮相同。m0skit0的链接有你的答案。我的问题与这个问题@m0skit0和Stef完全不同,因为我使用的是卡片而不是按钮。我知道如何通过单击按钮开始新的活动,也尝试过了,但没有效果。你想用cardview做什么?我很困惑,通过点击任何东西开始一项活动也不例外。你捕捉点击的方式可能有所不同,但你已经看到了祝酒词,这意味着你知道如何获得点击,所以startActivity(myIntent)就是你所需要的。如果@m0skit0提供的链接不是您想要做的,那么您到底在寻求什么帮助?
public class AdapterCustomList extends RecyclerView.Adapter<RecyclerView.ViewHolder>
public interface OnItemClickListener {
void onItemClick( whateverArgsYouWant );
}
private OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(final OnItemClickListener mItemClickListener) {
this.mOnItemClickListener = mItemClickListener;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
...
OriginalViewHolder vItem = (OriginalViewHolder) holder;
vItem.baseCard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick( whateverArgsYouWant );
}
}
});
}
AdapterCustomList mAdapter = new AdapterCustomList (getActivity(), recyclerView,yourListItemsHere));
recyclerView.setAdapter(mAdapter);
// on item list clicked
mAdapter.setOnItemClickListener(new AdapterPostList.OnItemClickListener() {
@Override
public void onItemClick( whateverArgsYouWant ) {
...
statements
...
}
});