RecyclerView
에 대한 클릭 한 항목의 위치를 얻으려고합니다. 그러나, 그것은 조금 이상한되고 나만 클릭하면 위치를 기록하고 내게 Toast
위치하게 내버려 두지 않습니다. 여기를 참조하십시오 :RecyclerView OnClick 위치
public class MainAdapter extends RecyclerView.Adapter<MainAdapter.ViewHolder>{
private List<Country> countries;
private int rowLayout;
private Context mContext;
public MainAdapter(List<Country> countries, int rowLayout, Context context) {
this.countries = countries;
this.rowLayout = rowLayout;
this.mContext = context;
}
public static class ViewHolder extends RecyclerView.ViewHolder{
public TextView countryName;
public ViewHolder(View itemView) {
super(itemView);
countryName = (TextView) itemView.findViewById(R.id.countryName);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("RecyclerView", "onClick:" + getPosition());
//Toast.makeText(v.getContext(),getPosition(), Toast.LENGTH_LONG).show();
}
});
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(rowLayout, viewGroup, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
Country country = countries.get(position);
viewHolder.countryName.setText(country.name);
}
@Override
public int getItemCount() {
return countries == null ? 0 : countries.size();
}
}
항목을 클릭 할 때 나는 위치의 Toast
주석을 제거하면 응용 프로그램이 충돌하지만, 로그가 잘 작동하는 것 같다. 클릭하면 항목의 위치를 Toast
할 수 있도록 어떻게 수정할 수 있습니까?
을 사용할 수 있습니다, 우리는 볼 필요가 당신이 얻고있는 오류 메시지는 무엇입니까. 질문을 수정하여 추가하십시오. –