2012-08-05 57 views
0

我有一個自定義適配器的列表片段。這個適配器有一個圖像的onClick事件,我想開始一個新的intent(Activity)。我無法做到這一點。如何從片段適配器啓動靈敏度

任何人都可以幫助我的代碼。

viewholder.gMaps = (ImageView) convertView.findViewById(R.id.imgMaps); 
viewholder.gMaps.setClickable(true); 
viewholder.gMaps.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Log.v(LOG_TAG, "Not sure how do I start an Activity"); 
     /* 
     Intent intent = new Intent().setClass(((ListViewFragment) context), GMaps.class); 
     intent.putExtra("Longitude", mList.get(holder.position).get("Longitude").toString()); 
     intent.putExtra("Latitude", mList.get(holder.position).get("Latitude").toString()); 
     startActivity(intent); 
     */ 
    } 
}); 

回答

0

參考的人誰仍在尋找答案

holder.gMaps.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Intent intent = new Intent().setClass(v.getContext(), GMaps.class); 
       intent.putExtra("Longitude", mList.get(holder.position).get("Longitude").toString()); 
       intent.putExtra("Latitude", mList.get(holder.position).get("Latitude").toString()); 
       v.getContext().startActivity(intent); 

      } 
     }); 
0

你,如果你在活動類以外的調用startActivity()來setflag作爲新的活動下面的代碼。

holder.gMaps.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent intent = new Intent().setClass(v.getContext(), GMaps.class); 
      intent.putExtra("Longitude", mList.get(holder.position).get("Longitude").toString()); 
      intent.putExtra("Latitude", mList.get(holder.position).get("Latitude").toString()); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      v.getContext().startActivity(intent); 

     } 
    });