2016-11-30 8 views
0

のsetOnClickListenerから活動を開始したとき、私は正常に動作します私の文字列配列の内容をロードしているRecyclerViewを持ってクラッシュし、しかし私は、ビューに応じて新しい活動を開きたいです彼らは押された。私がやっていることアプリケーションは、私がRecyclerViewのアダプタ

:私はそれを解決するために多くの記事を読み、その記載のものをしましたが、いずれかの解決策を見つけることができませんでしたてい

public class WinnersListAdapter extends RecyclerView.Adapter<WinnersListAdapter.WinnersCardViewHolder> 
{ 
    Context context; 
    LayoutInflater inflater; 
    List<ListLottery> lotteryList; 

    public WinnersListAdapter(List<ListLottery> loteries,Context context){ 
     this.context = context; 
     this.lotteryList = loteries; 
     inflater = LayoutInflater.from(context); 
    } 

    @Override 
    public WinnersListAdapter.WinnersCardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View v = inflater.inflate(R.layout.prevlotterycards_layout,parent,false); 

//  Toast.makeText(context,"Hi",Toast.LENGTH_SHORT).show(); 
     WinnersListAdapter.WinnersCardViewHolder viewHolder = new WinnersListAdapter.WinnersCardViewHolder(v); 
     return viewHolder; 
    } 

    @Override 
    public void onBindViewHolder(WinnersListAdapter.WinnersCardViewHolder holder, int position) { 
     final ListLottery lottery = lotteryList.get(position); 
     holder.lottery_date.setText(lottery.getLotteryDate()); 
     holder.lottery_date.setTag(holder); 
     holder.itemView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Toast.makeText(context,"clicked--"+lottery.getLotteryId(),Toast.LENGTH_SHORT).show(); 
       Intent intent = new Intent(context,WinnerActivity.class); 
       intent.putExtra("lotteryId",lottery.getLotteryId()); 
       context.startActivity(intent); 
      } 
     }); 
    } 

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

    class WinnersCardViewHolder extends RecyclerView.ViewHolder { 
     TextView lottery_date; 
     CardView card_lotteryList; 

     public WinnersCardViewHolder(View itemView) { 
      super(itemView); 
      lottery_date = (TextView) itemView.findViewById(R.id.l_lottery_date); 
      card_lotteryList = (CardView) itemView.findViewById(R.id.card_lotteryList); 
     } 
    } 
} 

+1

ポストあなたのlogcatを追加する必要はありませんので、あなたがマニフェストファイルにWinnerActivityを登録しなかった場合は? – Rahul

+1

エラーの内容を教えていないと、どうすれば助けてくれると思いますか? logcatからスタックトレースを送信します。 –

+0

ポストスタックトレース – Eswar

答えて

0

実は、あなたはlogcatを投稿していなかったので、私はあなたの質問に答えることはできませんが、あなたがチェックすることができますがいくつかあります:

1 - あなたの活動はすでにAndroidManifest.xmlを

2を宣言したことを確認してください - コンテキストがActivityまたはapplicationContextのコンテキストであることを確認しますか? is'tアクティビティのコンテキストは、あなたがフラグ

Intent i = new Intent(this, WinnerActivity.class); 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
関連する問題