В моем recyclerview я установил изображение (в строке recyclerview) видимым или не видимым в соответствии с некоторым условием.Изображение в строке recyclerview исчезает после вращения
Однако после того, как я повернуть экран изображение исчезает, как сделать так, чтобы изображение видимым на `s положение в recyclerview после вращающегося экрана?
Спасибо за вашу помощь и счастливых праздников;)
Я использую реализацию SimpleAdapter.
public class SimpleAdapter extends RecyclerView.Adapter<SimpleAdapter.SimpleViewHolder> implements FollowRedirectsCallback {
public static class SimpleViewHolder extends RecyclerView.ViewHolder {
...
public final View icCancel;
public SimpleViewHolder(View view) {
super(view);
...
icCancel = view.findViewById(R.id.icCancel);
}
}
public SimpleAdapter(Context context, String[] data, long userId, int dlTypeValue) {
mContext = context;
userID = userId;
DLTypeValue = dlTypeValue;
if (data != null)
mData = new ArrayList<String>(Arrays.asList(data));
else mData = new ArrayList<String>();
}
public SimpleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
final View view = LayoutInflater.from(mContext).inflate(R.layout.simple_item, parent, false);
return new SimpleViewHolder(view);
}
@Override
public void onBindViewHolder(final SimpleViewHolder holder, final int position) {
...
// How to keep this image visible after rotation of the screen?
if (somecondition) {
holder.icCancel.setVisibility(View.VISIBLE);
}
}
EDIT: Я initialze мой адаптер в corresponsent в деятельности:
public class DownloadsActivity extends BaseActivity {
RecyclerView recyclerView;
Parcelable state;
SimpleAdapter mAdapter;
SimpleSectionedRecyclerViewAdapter mSectionedAdapter;
SimpleSectionedRecyclerViewAdapter.Section[] dummy;
@AfterViews
public void init() {
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
//setLayout Manager
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setHasFixedSize(true);
dummy = new SimpleSectionedRecyclerViewAdapter.Section[sections.size()];
mSectionedAdapter = new
SimpleSectionedRecyclerViewAdapter(this, R.layout.section, R.id.section_text, mAdapter);
mSectionedAdapter.setSections(sections.toArray(dummy));
//Apply this adapter to the RecyclerView
recyclerView.setAdapter(mSectionedAdapter);
}
@Override
protected void onPause() {
super.onPause();
// save RecyclerView state
state = recyclerView.getLayoutManager().onSaveInstanceState();
}
@Override
protected void onResume() {
super.onResume();
if (inProgress) {
progresstxt.setVisibility(View.VISIBLE);
downloadprogress.setVisibility(View.VISIBLE);
}
// restore RecyclerView state
recyclerView.getLayoutManager().onRestoreInstanceState(state);
}
}
попробуйте добавить андроид: configChanges = "ориентация | Размер экрана" в вашей деятельности в вопросе в манифесте. –
Привет, Брэдли, я сделал это уже в манифесте, так как я собрал некоторую информацию, как решить, но это не поможет. – Simon
, где вы инициализировали ваш адаптер? не добавляйте его во время onCreateView. это будет заново создавать адаптер каждый раз, когда создается представление (например, во время вращения). покажите коды, в которых вы новичок. –