Uzun Öğe üzerinde Şu andaBen recyclerview
tıkladığında bir RecyclerView içinde seçme Radyo düğmesi ile sorun yaşıyorum öğe üzerinde herhangi bir yerde ben uzun tıklama kullanıyorum eğer zaman Radyo düğmesini seçebilirsiniz nasıl, ben RecyclerView'ı kurdu, varsayılan bir LayoutManager'a sahipti ve tüm verileri görüntüleyen bir adaptöre sahipti. Son zamanlarda çalışma OnClickListener() var (o onCreateViewHolder (gitmeli eğer emin değilim rağmen) ya onBindViewHolder * (ettik -.) OnBindViewHolder() çağrıldığında emin
Benim SingelRow XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="80dp"
>
<ImageView
android:id="@+id/item_icon"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="1dp"
android:layout_marginBottom="1dp"
android:contentDescription="icon"
android:src="@drawable/ic_launcher"
/>
<TextView
android:id="@+id/item_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/item_icon"
android:layout_alignBaseline="@+id/item_icon"
android:textColor="@android:color/darker_gray"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:textSize="22dp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radioButton"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
tek seçim modu ve ViewHolder Benim Adaptör
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private static RadioButton lastChecked = null;
private static int lastCheckedPos = 0;
Context context;
private ArrayList<ItemData> itemsDatas;
public MyAdapter(ArrayList<ItemData> itemsDatas) {
this.itemsDatas = itemsDatas;
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View itemLayoutView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_layout, null);
ViewHolder viewHolder = new ViewHolder(itemLayoutView);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
if (position == 0 && itemsDatas.get(0).isSelected() && viewHolder.radioButton.isChecked()) {
viewHolder.radioButton.setActivated(true);
viewHolder.radioButton.setSelected(true);
lastChecked = viewHolder.radioButton;
lastCheckedPos = 0;
}
viewHolder.txtViewTitle.setText(itemsDatas.get(position).getTitle1());
viewHolder.imgViewIcon.setImageResource(itemsDatas.get(position).getImageUrl());
viewHolder.radioButton.setTag(this);
viewHolder.radioButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RadioButton cb = (RadioButton) v;
if (cb.isChecked()) {
if (lastChecked != null) {
lastChecked.setChecked(false);
itemsDatas.get(lastCheckedPos).setIsSelected(false);
}
lastChecked = cb;
lastCheckedPos = position;
} else
lastChecked = null;
itemsDatas.get(position).setIsSelected(cb.isChecked());
}
});
}
@Override
public int getItemCount() {
return itemsDatas.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
public TextView txtViewTitle;
public ImageView imgViewIcon;
public RadioButton radioButton;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
itemLayoutView.setOnClickListener(this);
itemLayoutView.setOnLongClickListener(this);
txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.item_title);
imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.item_icon);
radioButton = (RadioButton) itemLayoutView.findViewById(R.id.radioButton);
}
@Override
public void onClick(View v) {
Log.d("TAG", "onClick " + getPosition() + " " + txtViewTitle.getText().toString());
}
@Override
public boolean onLongClick(View v) {
Log.d("TAG", "onLongClick " + getPosition() + " " + txtViewTitle.getText().toString());
return true;
}
}}
o Eserim ama ne istediğim zaman uzun olduğunu ben radyo düğmesini tıklayın
Bir diğer işlerBen çözümleri bir sürü denedim Ama
başarılı olamadı için hiçbir faydası istiyorum bu Item Radyo düğmesini seçmek istediğiniz Madde üzerinde Anywhere tıklayın Ve öğede herhangi bir yere tıkladığınızdaHerhangi bir yardım için minnettarım. Teşekkür ederim. Sana bu durumda, bir onLongClickListener
ayarlamak gereken yere soruyorsun değil hata varsa
Radyo düğmesi için uzun tıklama dinleyicisini nerede ayarlayacağınızı anlamıyorum –
[RecyclerView onClick] 'in olası kopyası (http://stackoverflow.com/questions/24471109/recyclerview-onclick) –
@ cricket_007 bunu herkese açık olarak görebilirsiniz Statik sınıf V iewHolder – MAJHOOOOOL