Android 从Cardlist项目数组启动新活动
我想从以下每一项开始新的活动我该怎么做 下面是我的卡适配器活动的一个片段Android 从Cardlist项目数组启动新活动,android,android-layout,android-intent,android-activity,Android,Android Layout,Android Intent,Android Activity,我想从以下每一项开始新的活动我该怎么做 下面是我的卡适配器活动的一个片段 package com.masiliose.denta; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import and
package com.masiliose.denta;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class CardAdapter extends RecyclerView.Adapter<CardAdapter.ViewHolder> {
List<NatureItem> mItems;
public CardAdapter() {
super();
mItems = new ArrayList<NatureItem>();
NatureItem nature = new NatureItem();
nature.setName("HIV / AIDS");
nature.setDes("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt" +
"ut labore et dolore magna aliqua. Ut enim ad minim veniam.");
nature.setThumbnail(R.drawable.ccc);
mItems.add(nature);
package com.masiliose.denta;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.TextView;
导入java.util.ArrayList;
导入java.util.List;
公共类CardAdapter扩展了RecyclerView.Adapter{
列出螨类;
公共卡适配器(){
超级();
mItems=新的ArrayList();
NatureItem nature=新的NatureItem();
自然。设定名称(“艾滋病毒/艾滋病”);
《自然》一书(“知识产权”是一种权利,是一种权利,是一种权利,是一种权利。”+
“我们的劳动和生活是巨大的,我们的生活是微小的。”);
设置缩略图(R.drawable.ccc);
添加(自然);
希望它能对您有所帮助
public class CardAdapter extends RecyclerView.Adapter<CardAdapter.ViewHolder>{
private List<NatureItem> mItems;
private Context mContext;
/*
pass a context via consectetur, it will be necessary to start activity on click card
*/
public CardAdapter(Context mContext){
this.mContext = mContext;
mItems = new ArrayList<NatureItem>();
NatureItem nature = new NatureItem();
nature.setName("HIV / AIDS");
nature.setDes("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt" +
"ut labore et dolore magna aliqua. Ut enim ad minim veniam.");
nature.setThumbnail(R.drawable.ccc);
mItems.add(nature);
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
/*
your custom card item layout
*/
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cardview, viewGroup, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int i) {
final String name = mItems.get(i).getName();
viewHolder.nameView.setName(name);
/*.......
set values to other view's
.......*/
viewHolder.cv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, YourActivity.class);
mContext.startActivity(intent);
}
});
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public int getItemCount() {
return mItems.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
CardView cv;
TextView nameView;
ViewHolder(View itemView) {
super(itemView);
cv = (CardView)itemView.findViewById(R.id.cardView);
nameView = (TextView)itemView.findViewById(R.id.nameView);
}
} }
公共类CardAdapter扩展了RecyclerView.Adapter{
私人名单;
私有上下文;
/*
通过ConcerteTur传递上下文,需要在点击卡上启动活动
*/
公共卡适配器(上下文mContext){
this.mContext=mContext;
mItems=新的ArrayList();
NatureItem nature=新的NatureItem();
自然。设定名称(“艾滋病毒/艾滋病”);
《自然》一书(“知识产权”是一种权利,是一种权利,是一种权利,是一种权利。”+
“我们的劳动和生活是巨大的,我们的生活是微小的。”);
设置缩略图(R.drawable.ccc);
添加(自然);
}
@凌驾
公共视图持有者onCreateViewHolder(视图组视图组,int i){
/*
您的自定义卡项目布局
*/
视图v=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.cardwiew,viewGroup,false);
视窗夹持器视窗夹持器=新视窗夹持器(v);
返回视图持有者;
}
@凌驾
公共无效onBindViewHolder(ViewHolder ViewHolder,最终int i){
最终字符串名=mItems.get(i).getName();
viewHolder.nameView.setName(名称);
/*.......
将值设置为其他视图的
.......*/
viewHolder.cv.setOnClickListener(新的View.OnClickListener(){
@凌驾
公共void onClick(视图v){
意图=新意图(mContext,YourActivity.class);
mContext.startActivity(意图);
}
});
}
@凌驾
附加ToRecyclerView(RecyclerView RecyclerView)上的公共无效{
super.onAttachedToRecyclerView(recyclerView);
}
@凌驾
public int getItemCount(){
返回mItems.size();
}
公共静态类ViewHolder扩展了RecyclerView.ViewHolder{
卡德维尤简历;
文本视图名称视图;
ViewHolder(视图项视图){
超级(项目视图);
cv=(CardView)itemView.findViewById(R.id.CardView);
nameView=(TextView)itemView.findViewById(R.id.nameView);
}
} }
你试过谷歌吗?这是一个简单的自定义适配器。有上千个例子……顺便说一句,你的代码还没有满。什么是
NatureItem
?它是自定义视图吗?如果是这样的话,它可能只是一个简单的例子,为它设置一个OnClick监听器,并激发在其中打开所需活动的意图。我感觉像这个问题缺少某些内容…是的,这是一个自定义视图。我只想能够从list@aravindsagar你能给我发一个示例吗?请给代码添加一些解释。它可能对操作有用。嘿,数组列表包含很多项,虽然我在代码片段中只有一项,但不是一项。因此e项目应该打开不同的活动,而不仅仅是一个