欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程實(shí)現(xiàn)ListView中item部分區(qū)域添加點(diǎn)擊事件功能

 更新時(shí)間:2018年01月25日 08:49:35   作者:清澈@Cherry  
這篇文章主要介紹了Android編程實(shí)現(xiàn)ListView中item部分區(qū)域添加點(diǎn)擊事件功能,涉及Android ListView相關(guān)適配器及事件響應(yīng)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)ListView中item部分區(qū)域添加點(diǎn)擊事件功能。分享給大家供大家參考,具體如下:

需求如題目:Android listview中item部分區(qū)域添加點(diǎn)擊事件,在一個(gè)界面顯示了listview,但顯示的內(nèi)容分為上下兩部分,分別是白色的背景和藍(lán)色的背景,現(xiàn)在需要只點(diǎn)擊藍(lán)色的背景,才能跳轉(zhuǎn)到其他界面,解決方式如下:

一開(kāi)始想著是不是能在list item的布局給上層布局添加一個(gè):

android:clickable="false"
android:focusable="false"

就是禁止點(diǎn)擊,但試了試沒(méi)有效果,后來(lái)師傅提醒我,我的這個(gè)listview使用的適配器是BaseAdapter可以在適配器里面拿到下層藍(lán)色的Relativelayout的id,然后給這個(gè)布局添加點(diǎn)擊事件,就可以實(shí)現(xiàn)部分區(qū)域響應(yīng)事件,事實(shí)證明是非??尚械?/strong>,貼出主要的代碼如下:

// 開(kāi)倉(cāng)單適配器
public class OrderAdapter extends BaseAdapter {
 public OrderAdapter(Context myContext) {
 }
 public OrderAdapter(OrderFragment orderFragment) {
 }
 @Override
 public int getCount() {
  if (dataMap == null) {
   return orderVec.length;
  }
  return dataMap.size();
 }
 @Override
 public Object getItem(int position) {
  return position;
 }
 @Override
 public long getItemId(int position) {
  return position;
 }
 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  ViewHolder viewHolder = null;
  if (convertView == null) {
   viewHolder = new ViewHolder();
   convertView = getActivity().getLayoutInflater().inflate(
     R.layout.activity_order_item, null);
   initViewHolder(convertView, viewHolder, position);
//關(guān)鍵代碼,獲得下層藍(lán)色的布局的id
   } else {
    viewHolder = (ViewHolder) convertView.getTag();
   }
   refreshViewHolder(position, viewHolder);
   return convertView;
  }
  private void refreshViewHolder(int position, ViewHolder viewHolder) {
   //。。。。。。。。
  }
  private void initViewHolder(View convertView, ViewHolder viewHolder,
    final int position) {
   viewHolder.modeifyorder = (RelativeLayout) convertView
     .findViewById(R.id.modeifyorder);
   viewHolder.modeifyorder.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
     Map<String, Object> map = dataMap.get(position);
     long orderId = Long.parseLong(map.get(Orderid).toString());
     String instStr = map.get(Instrument).toString();
     DocCaptain.getInstance().setOrderTrade2Modify(instStr,
       orderId);
     getSelfActivity().showOrHideOrderTradeFragment();
    }
   });
   convertView.setTag(viewHolder);
  }
  private class ViewHolder {
   TextView orderid;
   TextView iFDStopPrice;
   RelativeLayout modeifyorder;
  }
}

成功完成,記錄一下。

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》及《Android資源操作技巧匯總

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論