Взгляд переработчика не отказался, когда спрятано представлениеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Взгляд переработчика не отказался, когда спрятано представление

Сообщение Anonymous »

У меня есть представление об переработке, которое отображает четыре номера. 1,2,3,4. Когда я выбираю любое из этих чисел, все кажется в порядке. Проблема в том, когда я горизонтально прокручивать, а другие числа заполняют мой экран: 4,5,6,7. < /P>

< /p>

wation 1 < /strong> < /p>



state22


В этом примере прокрутка между > Состоянием 1 и 2 , 7 и 1 выбираются, когда следует выбрать только один из них < /p>


Вопрос < /strong>: как я могу сделать так, чтобы это было так Нажав одно из номеров, отказавшихся от числа, которые не видны на экране? p>

public class MyAdapter extends RecyclerView.Adapter{
private String[] days;
private String[] numbers;
SelectionTracker mSelectionTracker;
private static MyAdapter myAdapter;

public MyAdapter(String[] day, String[] number){
days = day;
numbers = number;
setHasStableIds(true);
}

//Set Keys
public void setSelectionTracker(SelectionTracker selectionTracker) {
mSelectionTracker = selectionTracker;
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
String dayInit = days[position];
String numberInit = numbers[position];
Long id = getItemId(position);

boolean isSelected = false;
if(mSelectionTracker != null) {
if (mSelectionTracker.isSelected(id)) {
isSelected = true;
}
}

holder.bind(position, id, dayInit, numberInit, isSelected);
}

public static class MyViewHolder extends RecyclerView.ViewHolder{
public TextView dayView, numberView;
public View view;
ScheduleDetails scheduleDetails = new ScheduleDetails();

public MyViewHolder(View itemView){
super(itemView);
view = itemView;
dayView = itemView.findViewById(R.id.day);
numberView = itemView.findViewById(R.id.day_number);

}

void bind(int position, Long key, String dayInit, String numberInit, Boolean isSelected){
scheduleDetails.position = position;
scheduleDetails.identifier = key;

System.out.println("Check: " + position);

dayView.setText(dayInit);
numberView.setText(numberInit);
view.setActivated(isSelected);
}

public ItemDetailsLookup.ItemDetails getItemDetails(@NonNull MotionEvent motionEvent){
return scheduleDetails;
}
}

static class ScheduleDetails extends ItemDetailsLookup.ItemDetails{
int position;
Long identifier;

@Override
public int getPosition() {
return position;
}

@Nullable
@Override
public Long getSelectionKey() { return identifier; }

@Override
public boolean inSelectionHotspot(@NonNull MotionEvent e){
return true;
}
}

// Create new views (invoked by the layout manager)
@Override
public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.recycler_layout, parent, false);

MyViewHolder vh = new MyViewHolder(view);
return vh;
}

@Override
public int getItemCount() {
return days.length;
}

@Override
public long getItemId(int position) {
return position;
}
< /code>

} < /p>

Подробнее здесь: https://stackoverflow.com/questions/595 ... -is-hidden
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»