**Question**

I have a listView inside a DialogFragment and I want to fire certain callbacks only when certain particular items inside a row are fired. How can I do that?

Basically, I want to do something like this

```
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    final int viewId = view.getId();
    if ((viewId == R.id.textView1) || (viewId == R.id.textView2)) {
        // do something...
    }

```

which I can't. Read further if you don't know why.

**What I tried**

I tried to look into the documentation, but the OnItemClickListener callback doesn't offer as a parameter the exact clicked view (the View you can see in the signature is the whole row). 

Also, I tried to set a simple onClick callback on the single view in the adapter, but this overrides the listSelector and other behavior a list should have. Reading in the documentation, I found it's explicitly written that we should set callbacks via the onListItemClick(...) method (not via onClick(...)), so I'm looking for a way to do that, using this method, not to override any default list behavior. 

I was trying to get this done by working on the xml. To my surprise, I found that if I set a view `android:clickable` property to true, the onListItemClick callback won't fire (I thought it was the opposite),
so a partial solution would be to set to `android:clickable=true` every view in the row apart from the one I want to fire the callback, but that is not a solution because if the user clicks where there is padding or white space, the callback will fire. Also, I found that if I set the parent of the row's view to `android:clickable=true` and the child views I want to handle with the callback to `android:clickable=false`, this won't work, because apparently the property is not overwritten.

**EDIT** Sorry for the really bad title this question had before, I didn't even noticed I submitted the question.