I got it working :-) But partially. I used android:descendantFocusability="blocksDescendants"
in the root layout of gridview item's custom layout (inflating layout). The thing is onclick works outside of the textiew.
So, the textview scrolls and clicking outside of the textview somewhere on background image fires grid view's onClickListener()
But not able to trigger gridview's onclicklistener() when clicking on textview. Need to look into this issue.
Used suggestion from the stackoverflow link: Referred Link
Edited: Scrollable and clickable textview in gridview - Got Workaround using onTouchlistener
Setting below ontouch click listener for the textview inside the adapter class for gridview will allow you to scroll text as well as fire onItemClick of GridView.
OnTouchListener aListener = new OnTouchListener() {
long startTouchTime = 0;
@Override
public boolean onTouch(View v,
MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.e("ACTION_DOWN",
"ACTION_DOWN, intercept true");
startTouchTime = (System
.currentTimeMillis());
// To scroll the textview set this
textview
.setMovementMethod(new ScrollingMovementMethod());
v.getParent()
.requestDisallowInterceptTouchEvent(
true);
break;
case MotionEvent.ACTION_UP:
Log.e("ACTION_UP",
"Call onitemclick"
+ ((System
.currentTimeMillis()) - startTouchTime));
if ((System.currentTimeMillis())
- startTouchTime < 200)
// To call gridview onItemClick here
myGridActivity.myGridView
.getOnItemClickListener()
.onItemClick(
null,
myGridActivity.myGridView,
(Integer) imageView
.getTag(), // Setting the position here through imageview set tag
(long) 6767);
break;
}
if (event.getAction() == MotionEvent.ACTION_MOVE) {
Log.e("ACTION_MOVE",
"ACTION_MOVE, intercept true");
v.getParent()
.requestDisallowInterceptTouchEvent(
true);
} else {
Log.e("Other", "Intercept false");
v.getParent()
.requestDisallowInterceptTouchEvent(
true);
}
return false;
}
};
textview.setOnTouchListener(aCBInfoListener);
Set android:scrollbars="vertical"
for the textview to be scrolled.