這是我以前做過的事,看起來很像你想要完成的事情。
首先,您聲明onItemClickListener
爲您的ListView
。這將處理標準的列表項目點擊(即,在列表項內但在您關心的內部視圖區域之外點擊)。您可以在代碼中的各種位置執行此操作,但onCreate()
是常見的操作。
例子:
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Handle standard list item tap
// ...
}
});
然後,你可以聲明任何onClickListener
是你需要爲你的適配器的getView()
方法中你內心的看法(縣)處理單擊/點擊事件在你的內心看法。
例子:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout itemView;
// Inflate layout XML, etc.
// ...
// Find subviews in layout
ImageView innerView = (ImageView) itemView.findViewById(R.id.myInnerViewId);
// ...
// Set up onClickListener for inner view
innerView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Handle inner view tap
// ...
}
});
// ...
}
運行完美。就像一個魅力:)提前謝謝你! – user1951516