RecyclerView の preselect 要素のアダプタで itemView を取得する際に問題があります。私の活動では、次のことを行っています。
recyclerView = (RecyclerView) findViewById(R.id.activityRecicler);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
adapter = new CustomRecycleAdapter(array, ReceiptNewActivity.this, arrayJson);
recyclerView.setAdapter(adapter);
int adapterLength = adapter.getItemCount();
int length = arrayJson.length();
for(int i = 0; i<adapterLength; i++){
for(int j=0; j<length; j++){
try {
if(adapter.getItem(i).getInt("id") == arrayJson.getJSONObject(j).getInt("id")){
int value= arrayJson.getJSONObject(j).getInt("value");
float valueFloat = (float) value/250;
String valueString = String.valueOf(value);
//function in adapter for selected
adapter.setSelected(i, valueFloat);
RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForAdapterPosition(i);
View v= viewHolder.itemView;
adapter.setRowData(v, valueString);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
私の問題は、
RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForAdapterPosition(i);
常に null を返すことです。では、どのように位置のitemViewを取得できますか?