Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从Cardlist项目数组启动新活动_Android_Android Layout_Android Intent_Android Activity - Fatal编程技术网

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项目应该打开不同的活动,而不仅仅是一个