RecyclerView
var. Öğe 0, EditText
için üstbilgidir, sonra tüm diğer öğeler görüntüdür. EditText
'a uzun basarak, seçenek yapıştırması verir. Bu iyi çalışır. Ama geri dönüşümcü görüntüsünü aşağıya kaydırdığımda ve yine en üstte ve uzun basışımda yapıştırma seçeneğini göstermez ve hata verir. Açık ve en üste gelmek için onBindViewHolder
numaralı telefonu arayın. Metin seçimini desteklemiyor.. Seçim iptal edildi.EditText verme hatası: TextView, metin seçimini desteklemiyor. Seçim iptal edildi
public class Someclass extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements View.OnClickListener {
private static final int TYPE_EDIT = 0;
private static final int TYPE_IMAGE = 1;
List<String> msomelist = new ArrayList<String>();
public void someMethod(List<String> somelist) {
msomelist.clear();
msomelist.addAll(somelist);
notifyDataSetChanged();
}
public Someclass(Activity activity, List<String> somelist) {
this.activity = activity;
this.msomelist.clear();
this.msomelist.addAll(somelist);
mContext = activity;
}
@Override
public int getItemViewType(int position) {
if (position == 0)
return TYPE_EDIT;
return TYPE_IMAGE;
}
@Override
public void onClick(View view) {
int postition = (int) view.getTag();
msomelist.remove(postition);
notifyDataSetChanged();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
ImageView img;
public ViewHolder(View itemView) {
super(itemView);
img = (ImageView) itemView.findViewById(R.id.image);
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == TYPE_IMAGE) {
View view = LayoutInflater.from(mContext)
.inflate(somelayout, false);
ViewHolder holder = new ViewHolder(view);
return holder;
} else {
View view = LayoutInflater.from(mContext)
.inflate(someotherlayout, false);
return new OtherHolder(view);
}
}
class OtherHolder extends RecyclerView.ViewHolder {
EditText editText;
public OtherHolder(View itemView) {
super(itemView);
editText = (EditText) itemView.findViewById(R.id.ediItext);
editText.requestFocus();
}
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ViewHolder) {
some function.....
} else if (holder instanceof OtherHolder) {
some function
}
}
}
kodunuzu gönderin! –
, adaptörünüzü ve satırın düzen kodunu ve başlıklarını da içine alır. –
hatalarını saptamak için ... aynı sorun için değil, aynı çözüm için çeşitli sorunlar bulabilirsiniz. –