Да, я знаю, что это было задано много раз. Я пробовал все предлагаемые решения, но не работал для меня. Поэтому я снова задаю один и тот же вопрос.setOnItemClickListener не работает, несмотря на удаление фокуса на все виды
Это мой файл макета
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:background="@drawable/view_selector"
android:clickable="true"
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal"
android:padding="3dp">
<TextView android:id="@+id/calcName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="3dp"
android:layout_marginTop="3dp"
android:layout_weight="0.9"
android:gravity="start"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:textIsSelectable="false"
android:textColor="#FF000000" />
<ImageView android:id="@+id/nextImg"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="end|right"
android:layout_weight="0.1"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:contentDescription="@string/strImg"
android:src="@drawable/next" />
</LinearLayout>
Как вы можете видеть, я сделал каждый вид рыхлого фокусе, даже вид корня делает это.
Тогда вот мой адаптер класса
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.everythingrf.android.rfcalculators.R;
import java.util.ArrayList;
import java.util.List;
public class CommonListAdapter extends ArrayAdapter<String> {
private Context mContext;
private ArrayList<String> mDataObjects;
private int layout;
public CommonListAdapter(Context context, int resource, ArrayList<String> objects) {
super(context, resource, objects);
mContext = context;
layout = resource;
mDataObjects = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(layout, parent, false);
holder.calcName = (TextView) convertView.findViewById(R.id.calcName);
holder.nextImg = (ImageView) convertView.findViewById(R.id.nextImg);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.calcName.setFocusable(false);
holder.nextImg.setFocusable(false);
holder.calcName.setText(mDataObjects.get(position));
return convertView;
}
public static class ViewHolder{
TextView calcName;
ImageView nextImg;
}
}
Даже пытался с адаптером
Вот мой главный класс, который вызывает onItemClickListener
myCalcList.setOnItemClickListener(this);
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int pos, long id) {
Log.e("Main","item click");
String selectedCalc = commonList.get(pos);
openSelectedCalc(selectedCalc);
}
Заранее спасибо :)
Вы получаете какую-либо ошибку? –
@bhargav nope, данные загружаются отлично ... когда я нажимаю на него, ничего не происходит..Лог не печатает, даже прикрепленный отладчик внутри метода не называется – Swapnil
. Помогите объяснить, почему downvote? – Swapnil