在解决Android Recycler Adapter位置不正确的问题时,可以遵循以下步骤:
...
public class MyAdapter extends RecyclerView.Adapter {
private List dataList;
...
public static class ViewHolder extends RecyclerView.ViewHolder {
private TextView textView;
public ViewHolder(View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.text_view);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理点击事件
int position = getAdapterPosition();
String item = dataList.get(position);
// 进行相应的处理
}
});
}
}
...
}
public class MainActivity extends AppCompatActivity {
...
public void onItemClick(View view) {
int position = recyclerView.getChildAdapterPosition(view);
String item = dataList.get(position);
// 进行相应的处理
}
...
}
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private MyAdapter adapter;
private List dataList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recycler_view);
adapter = new MyAdapter(dataList);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
}
...
}
通过以上步骤,可以解决Android Recycler Adapter位置不正确的问题,并正确处理点击事件。