2016-05-17 19 views
0

私は現在、ユーザーがカードをクリックしたときにサービスのショートコードまたは番号をダイヤルする緊急アプリを開発中です。Android CardView新しい活動を開始するためのOnClick

これまでのところ、私はダイヤル機能を達成できましたが、番号をダイヤルする代わりにカードの1つから新しいアクティビティを開始したいと考えています。

は、私は他のカードはIDEとCardviewDataAdapter.javaコードによって生成されたエラーメッセージを完璧に以下

作品である間のOnClickメソッドが、私のアプリのクラッシュからの新しい活動を開始する意思を使用してみました。 The error message screen shot CardViewDataAdapter.javaコード:あなたのマニフェストで宣言されていない活動を開始しようとしているので、

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

    private List<ItemObject> itemList; 


    public CardViewDataAdapter(Context context, List<ItemObject> itemList) { 
     this.itemList = itemList; 
    } 

    // Create new views (invoked by the layout manager) 
    @Override 
    public CardViewDataAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, 
                  int viewType) { 
     // create a new view 
     View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
       R.layout.cardview_row, null); 


     //Todo: set the view's size, margins, paddings and layout parameters 
     // create ViewHolder 
     ViewHolder viewHolder = new ViewHolder(itemLayoutView); 
     return viewHolder; 


    } 

    // Replace the contents of a view (invoked by the layout manager) 
    @Override 
    public void onBindViewHolder(ViewHolder viewHolder, int position) { 

     // - get data from your itemsData at this position 
     // - replace the contents of the view with that itemsData 
     viewHolder.image_view.setImageResource(itemList.get(position).getPhoto()); 
     viewHolder.image_name.setText(itemList.get(position).getName()); 

    } 


    // Return the size of your dataset (invoked by the layout manager) 
    @Override 
    public int getItemCount() { 
     return this.itemList.size(); 
    } 

    // Provide a reference to the views for each data item 
    // Complex data items may need more than one view per item, and 
    // you provide access to all the views for a data item in a view holder 
    // inner class to hold a reference to each item of RecyclerView 
    public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { 
     // each data item is a string and an image in this case 
     public ImageView image_view; 
     public TextView image_name; 
     public Context context; 


     public ViewHolder(View itemLayoutView) { 


      super(itemLayoutView); 
      this.image_view = (ImageView) itemLayoutView.findViewById(R.id.image_view); 
      this.image_name = (TextView) itemLayoutView.findViewById(R.id.image_name); 

      // Attach a click listener to the entire row view 
      itemLayoutView.setOnClickListener(this); 
      itemLayoutView.setOnLongClickListener(new View.OnLongClickListener() { 
       @Override 
       public boolean onLongClick(View v) { 
        Toast.makeText(v.getContext(), "OnLongClick Version :" + getAdapterPosition(), 
          Toast.LENGTH_SHORT).show(); 
        return true; 
       } 
      }); 




     } 


     // Handles the row being being clicked 
     @Override 

     public void onClick(View view) { 


      if (getAdapterPosition() == 0) { 
       Intent callIntent = new Intent(Intent.ACTION_CALL); 
       callIntent.setData(Uri.parse("tel:123")); 
       view.getContext().startActivity(callIntent); 
      } else if (getAdapterPosition() == 1) { 
       Intent callIntent = new Intent(Intent.ACTION_CALL); 
       callIntent.setData(Uri.parse("tel:1234")); 
       view.getContext().startActivity(callIntent); 
      } else if (getAdapterPosition() == 2) { 
       //intent = new Intent(mContext, TutorialActivity.class); 
       Intent callIntent = new Intent(Intent.ACTION_CALL); 
       callIntent.setData(Uri.parse("tel:12345")); 
       view.getContext().startActivity(callIntent); 
      } else if (getAdapterPosition() == 3) { 
       Intent callIntent = new Intent(Intent.ACTION_CALL); 
       callIntent.setData(Uri.parse("tel:123456")); 
       view.getContext().startActivity(callIntent); 
      }else if (getAdapterPosition() == 4){ 
       view.getContext().startActivity(new Intent(view.getContext(),safetyActivity.class)); 
      } 
      else { 
       view.getContext().startActivity(new Intent(view.getContext(),safetyActivity.class)); 
      } 

     } 


    } 


} 
+2

マニフェストでアクティビティの宣言がありません。 –

+0

むしろlogcatの内容をコピーしてください(写真では最初の行が途切れています)。コピーするときは、読みやすいので、** code **形式を使用してください。 – Vucko

+0

@Vuckoありがとう、私はすべてのエラーメッセージをコピーしましたが、以下のものは無関係です。 –

答えて

-1

あなたはこの例外を取得しています。

関連する問題