touch イベントを両方に渡すことで、2 つのリストビューをスクロールしています。
OnTouchListener touchListener = new OnTouchListener() {
boolean dispatched = false;
@Override
public boolean onTouch(View v, MotionEvent event) {
if (v.equals(m_lv1) && !dispatched) {
m_listAdapter1.setEnabled(true);
m_listAdapter2.setEnabled(false);
dispatched = true;
m_lv2.dispatchTouchEvent(event);
} else if (v.equals(m_lv2) && !dispatched) {
m_listAdapter1.setEnabled(false);
m_listAdapter2.setEnabled(true);
dispatched = true;
m_lv1.dispatchTouchEvent(event);
}
dispatched = false;
return false;
}
};
これは正常に動作します。
リストビューの両方に OnItemClickListener もあり、正常に動作します
m_lv1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
..
}
});
ここで、リスト ビューのセルのサブレイアウトに clickListener を追加します。
if(viewHolder.layout_author != null) {
viewHolder.layout_author.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent profileIntent = new Intent(ImageListAdapter.this.activity, ProfileActivity.class);
profileIntent.putExtra("JsonUser", jsonAlbumImage.jsonUser);
ImageListAdapter.this.activity.startActivity(profileIntent);
}
});
}
次に、スクロールが機能しないことがあります。新しい clickListener がタッチイベントを消費しているためだと思います。
どんな提案/ガイドも大歓迎です。