0

我在ListViewonClickListenerButton的每一行中都有Button。我想添加onItemSelectListener到我的ListView。可能嗎?如果是,我該怎麼做?
任何幫助將不勝感激。我們可以在Android的ListView中同時擁有Button和onItemClick監聽器嗎?

+0

是有可能 –

+0

@Max使用自定義視圖中Android或自定義列表視圖:它是想在這個視頻被possible.look:https://www.youtube.com/watch ?v = wDBM6wVEO70。從分24 –

+0

喜看互聯網上的一些研究,我發現[這個很好的例子] [1] [1]後:http://stackoverflow.com/questions/15249632/android-custom-listview-with -imagebutton-is-not-getting-focus – max

回答

3

是的,它是可能的...

,同時爲列表視圖自定義視圖適配器,u必須添加onclicklistener按鈕 和u還可以根據需要添加onItemSelectListener的列表視圖。 它會工作。

使用列表視圖代碼

listView = (ListView) findViewById(R.id.listView2); 
     listView .setAdapter(new CustomListAdapter (this,userIDArr)); 


     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { 

       Toast.makeText(Activity.this, 
         "Item in position " + position + " clicked", Toast.LENGTH_LONG).show(); 
      } 
     }); 

,並創建適配器像

public class CustomListAdapter extends ArrayAdapter<String> 
{ 
    Activity context; 
    public CustomListAdapter (Activity context, ArrayList<String> names) { 
     super(context, R.layout.list_item, names); 
     this.context = context; 
    } 
    private class ViewHolder { 

     public TextView Description; 
     public Button UploadBtn; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder; 
     View rowView = convertView; 
     if (rowView == null) { 
      LayoutInflater inflater = context.getLayoutInflater(); 
      rowView = inflater.inflate(R.layout.list_item, null, true); 
      holder = new ViewHolder(); 

      holder.Description = (TextView) rowView.findViewById(R.id.User_status); 
      holder.UploadBtn = (Button) rowView.findViewById(R.id.uploadbutton); 
      holder.UploadBtn.setOnClickListener(new View.OnClickListener() { 

        public void onClick(View v) { 
        Toast.makeText(Activity.this," Button clicked",Toast.LENGTH_SHORT).show(); 
        } 
       }); 
       rowView.setTag(holder); 
     } else { 
      holder = (ViewHolder) rowView.getTag(); 
     } 

     holder.Description.setText("U r in middle"); 
     return rowView; 
    } 
} 

我們處理單擊列表項中使用下面的代碼

android:focusable="false" 
android:focusableInTouchMode="false" 

,同時創造設置這些線按鈕標籤

它會工作... 請讓我知道您的反饋..

+0

@NS解釋如何? –

+0

好..我馬上更新你 –

+0

@簡單的計劃.. Plz看看我更新的答案..讓我kw如果它爲你工作或不 –

0

雅它可能!

你可以在安卓

相關問題