2017-10-15 26 views
-1

我想通过单击Recyclerview中的cardview(item)来打开新活动。但我的新的活动是无法启动和应用程序已停止弹起新活动未启动(应用已停止)

我的适配器类是

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{ 

private List<Contacts> listitems; 
private Context context; 

public interface OnItemClickListener{ 
    void onItemClick(Contacts item); 
} 

public MyAdapter(List<Contacts> listitems, Context context) { 
    this.listitems = listitems; 
    this.context = context; 
} 

@Override 
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item,parent,false); 
    return new ViewHolder(v); 
} 

@Override 
public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) { 
    Contacts c = listitems.get(position); 

    holder.t1.setText(c.getName()); 
    holder.t2.setText(c.getNumber()); 

} 

@Override 
public int getItemCount() { 
    return listitems.size(); 
} 

public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { 
    public TextView t1,t2; 
    public ImageView image; 

    public ViewHolder(View itemView) { 
     super(itemView); 

     itemView.setOnClickListener(this); 

     t1 = (TextView) itemView.findViewById(R.id.textview1); 
     t2 = (TextView) itemView.findViewById(R.id.textview2); 

    } 

    @Override 
    public void onClick(View v) { 
     itemView.getContext().startActivity(new Intent(context,Details.class)); 
    } 
} 
} 
+0

发布您在android监视器中收到的错误。 –

+0

安卓显示器不显示任何错误只是应用程序崩溃,因为我点击项目 –

+0

为什么你使用itemview.setOnClickListener?你可以给你的根布局编号,并在它上执行点击监听器 –

回答

0

只需更换

itemView.getContext().startActivity(new Intent(context,Details.class)); 

context.startActivity(new Intent(context,Details.class)); 
+0

我照你说的做了,但它没有帮助:( –

+0

它是显示一些错误还是刚崩溃的应用程序,如果它只是崩溃? –

+0

然后错误是在详细信息.class不在这个类 –

0
您使用回收

然后你可以在你的活动中使用它,而不是在适配器中

recyclerview.onaddOnItemTouchListener(new RecyclerItemClickListener(this, new RecyclerItemClickListener.OnItemClickListener() { 
    @Override 
    public void onItemClick(View view, int position) { 
     Activity_name.startActivity(new Intent(context,Details.class)); 
    } 
})); 
+0

您必须从适配器中删除onclicklistener –

+0

您是否定义了清单文件中的活动,如果已定义,那么共享错误日志 –