используйте следующие коды, чтобы преодолеть обе ваши проблемы
я использовал фиктивные коды для объяснения подхода
вот действие, связанное с вашим взглядом переработчика, просто создайте интерфейс и реализуйте его метод навозобновите и используйте этот интерфейс в своем видоискателе, чтобы при возобновлении действия он реализовывал функцию и возвращал цвет по умолчанию
public class TestActivity extends AppCompatActivity {
private RecyclerViewAdapter recyclerViewAdapter;
private OnActivityRefresh onActivityRefresh;
public void setOnActivityRefresh(OnActivityRefresh onActivityRefresh) {
this.onActivityRefresh = onActivityRefresh;
}
@Override
protected void onResume() {
super.onResume();
if(onActivityRefresh != null){
onActivityRefresh.onRefresh();
}
}
private void refreshRecyclerview() {
}
public interface OnActivityRefresh{
void onRefresh();
}
}
.здесь я использовал ту же активность, что и аргумент в конструкторе, и установил интерфейс, который, наконец, запускает функцию обновления при возобновлении активности
. Более того, я создал эффект переключения, просто используя простой приемник щелчков на макете двигателя
здесь макет матери - макет матери ребенка
надеюсь, вы понимаете
я тороплюсь, так что извините за мои орфографические ошибки;)
public class TestViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
private LinearLayout mother_layout;
private boolean isViewSelected = false;
public TestViewHolder(View itemView) {
super(itemView);
initViews(itemView);
}
private void initViews(View v){
mother_layout = (LinearLayout)v.findViewById(R.id.mother_layout);
}
public void init(Activity activity){
((TestActivity)activity).setOnActivityRefresh(new TestActivity.OnActivityRefresh() {
@Override
public void onRefresh() {
isViewSelected = false;
setDefaultColor();
}
});
}
@Override
public void onClick(View view) {
if(view == mother_layout){
if(isViewSelected){
isViewSelected = false;
setDefaultColor();
}else{
isViewSelected = true;
setActiveColor();
}
}
}
private void setActiveColor() {
}
private void setDefaultColor() {
}
}
надеюсь, это поможет
счастливое кодирование;)
Леме, если есть какая-то проблема