커스텀리스트뷰를 이용해 이미지와 텍스트를 보여주는 것을 구현하고 있습니다

그리고 이미지를 터치하면 어딘가에서 예제로 구한 퀵액션바를 실행하기 위해 onClickListener를 주고 싶은데

리스트뷰의 각 행이 또다른 xml로 정의되어 있어서 이것을 가져오는게 잘 되지 않습니다

질문전에 검색을 좀 해보았는데 findViewById는 OnCreate안에서 정의된 뷰들만 제어가 가능하고

차일드뷰같은 경우엔 inflater를 사용해야 하는것 같은데 사용방법을 잘 모르겠습니다.

 

아예 커스텀어탭터에서 OnClickListener를 주면 작동은 하지만 퀵액션바를 어탭터에선 적용을 못하는건지

부족한 프로그래밍 실력이라 잘 안됩니다

 

처음 써보는글이라 코드가 하나로 이어지지 않았는데 실제 적용부분은 마지막 코드블럭입니다..

그리고 죄송하지만 가능하시다면 말보단 코드로 어떻게 적용하는지 알려주시면 감사하겠습니다

 mSNSList = new ArrayList<SNS_Info>();
  mAdapter = new SNS_Adapter(this, R.layout.list_view_row_mypage, mSNSList);
  mLvSNS = (ListView)findViewById(R.id.custom_list_view_example_activity_lv_list);
  
  mLvSNS.setAdapter(mAdapter);
  //더미 데이터 호출
  getSNS();
  setListView();
//  mLvSNS.setOnItemClickListener(mItemClickListener);//리스트뷰 클릭 리스너 등록
  mLvSNS.setBackgroundColor(Color.GRAY);
  
  
  /*QuickActionBar*/
  ActionItem nextItem  = new ActionItem(ID_DOWN, "Next", getResources().getDrawable(R.drawable.menu_down_arrow));
  ActionItem prevItem  = new ActionItem(ID_UP, "Prev", getResources().getDrawable(R.drawable.menu_up_arrow));
  ActionItem searchItem  = new ActionItem(ID_SEARCH, "전화", getResources().getDrawable(R.drawable.menu_search));
  ActionItem infoItem  = new ActionItem(ID_INFO, "문자", getResources().getDrawable(R.drawable.menu_info));
  ActionItem eraseItem  = new ActionItem(ID_ERASE, "채팅", getResources().getDrawable(R.drawable.menu_eraser));
  ActionItem okItem   = new ActionItem(ID_OK, "쪽지", getResources().getDrawable(R.drawable.menu_ok));
  //use setSticky(true) to disable QuickAction dialog being dismissed after an item is clicked
  prevItem.setSticky(true);
  nextItem.setSticky(true);
  //create QuickAction. Use QuickAction.VERTICAL or QuickAction.HORIZONTAL param to define layout 
  //orientation
  final QuickAction quickAction = new QuickAction(this, QuickAction.VERTICAL);
  //add action items into QuickAction
  quickAction.addActionItem(nextItem);
  quickAction.addActionItem(prevItem);
  quickAction.addActionItem(searchItem);
  quickAction.addActionItem(infoItem);
  quickAction.addActionItem(eraseItem);
  quickAction.addActionItem(okItem);
  //Set listener for action item clicked
  quickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() {   
   @Override
   public void onItemClick(QuickAction source, int pos, int actionId) {    
    ActionItem actionItem = quickAction.getActionItem(pos);
    //here we can filter which action item was clicked with pos or actionId parameter
    if (actionId == ID_SEARCH) {
//     Toast.makeText(getApplicationContext(), "Let's do some search action", Toast.LENGTH_SHORT).show();
     Uri number;
     number = Uri.parse("tel:" + mNumber);
     Intent intent_call = new Intent(Intent.ACTION_DIAL, number);
     startActivity(intent_call);
    } else if (actionId == ID_INFO) {
//     Toast.makeText(getApplicationContext(), "I have no info this time", Toast.LENGTH_SHORT).show();
     Intent intent_sms = new Intent(Intent.ACTION_SENDTO);
     intent_sms.setData(Uri.parse("smsto:" + mNumber));
     intent_sms.putExtra("sms_body", "");
     startActivity(intent_sms);
    } else if (actionId == ID_ERASE){
//     Toast.makeText(getApplicationContext(), actionItem.getTitle() + " selected", Toast.LENGTH_SHORT).show();
     Intent intent_chat = new Intent(getApplicationContext(), Commerce_Chat.class);
     intent_chat.putExtra("temp_id", temp_id); //Intent간 통신
     intent_chat.putExtra("temp_pw", temp_pw); //
     startActivity(intent_chat);
    } else if (actionId == ID_OK){
//     Toast.makeText(getApplicationContext(), actionItem.getTitle() + " selected", Toast.LENGTH_SHORT).show();
     Intent intent_chat = new Intent(getApplicationContext(), Letter.class);
     intent_chat.putExtra("temp_id", temp_id); //Intent간 통신
     intent_chat.putExtra("temp_pw", temp_pw); //
     startActivity(intent_chat);
    }
    
   }
  });
  //set listnener for on dismiss event, this listener will be called only if QuickAction dialog was dismissed
  //by clicking the area outside the dialog.
  quickAction.setOnDismissListener(new QuickAction.OnDismissListener() {   
   @Override
   public void onDismiss() {
//    Toast.makeText(getApplicationContext(), "Dismissed", Toast.LENGTH_SHORT).show();
   }
  });
  layout = new LinearLayout(mLvSNS.getContext());
  LayoutInflater inflater = (LayoutInflater)mLvSNS.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  //LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  View v = (View)inflater.inflate(R.layout.list_view_row_mypage, layout);
  //View v = (View)inflater.inflate(R.layout.list_view_row_mypage, null);
  ImageView iv = (ImageView)v.findViewById(R.id.list_view_row_profile_thumbnail);
  iv.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    Toast.makeText(getApplicationContext(), "ser", Toast.LENGTH_SHORT).show();
    quickAction.show(v);
   }
  });
  /*/QuickActionBar*/
  
  ((TextView)findViewById(R.id.content_date)).setText(seller_date);
  ((TextView)findViewById(R.id.content_subject)).setText(seller_id);
  ((TextView)findViewById(R.id.content_description)).setText(seller_commnet);
   });