0

Есть два типа item.xml (TextView и EditText) - в будущем будем получать их в RecyclerView. При получении данных с сайта (drop_down_options, textbox_numeric) необходимо проверять эти значения (ну или просто выводить в список). Делал нечто подобное, но с использованием одной модели:

public class MainActivity extends AppCompatActivity {

private RecyclerView recyclerView;
private ArrayList<OptionId> data;
private DataAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initViews();
}
private void initViews(){
    recyclerView = (RecyclerView)findViewById(R.id.card_recycler_view);
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
    recyclerView.setLayoutManager(layoutManager);
    loadJSON();
}
private void loadJSON(){
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https://link")
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    Api request = retrofit.create(Api.class);
    Call<Marca> call = request.getJSON("продолжение линка");
    call.enqueue(new Callback<Marca>() {
        @Override
        public void onResponse(Call<Marca> call, Response<Marca> response) {
            Marca jsonResponse = response.body();
            adapter = new DataAdapter(jsonResponse.getOptions());
            recyclerView.setAdapter(adapter);
        }

        @Override
        public void onFailure(Call<Marca> call, Throwable t) {
            Log.d("Error",t.getMessage());
        }
    });
}

Затруднение в отображении 2-ух типов данных в 1 списке.

Morozov
  • 2,756
  • 1
    Возможно ли для достижения поставленной задачи попробовать использовать RecyclerView с 2 или более View? – Morozov Sep 07 '16 at 15:44
  • 1
    Вопрос недостаточно понятен. Вам нужно совместить два типа айтемов разного вида в одном списке? Тогда смотрите этот ответ – pavlofff Sep 08 '16 at 04:13
  • Да, вы ВЕРНО подметили. Только как возможно подкорректировать данные не типа int как в примере, а два списка. Поясню, до этого писал следующее: private List android; public DataAdapter(List android) { this.android = android; }

    Теперь же придётся добавить еще List<Второй тип айтема>?

    – Morozov Sep 08 '16 at 07:25
  • 1
    В том примере собственно данных ВООБЩЕ нет, так как это не существенно для описания алгоритма отображения двух типов View. То, что вы называете "данные типа int" - это служебные константы, которые служат для индикации, какой тип айтема будет использоваться. Смотрите этот более полный пример – pavlofff Sep 08 '16 at 07:34
  • Если я правильно понял, то здесь создаётся класс DummyData, куда и заносятся данные. А если я данные хочу получать в List с сайта(retrofit'ом) то что можете посоветовать сделать? – Morozov Sep 08 '16 at 08:01
  • Нет никакой разницы, как представлены ваши данные и к вопросу отображения двух типов View в списке это имеет второстепенное отношение. Передавайте в адаптер ваши данные и пишите логику их извлечения. – pavlofff Sep 08 '16 at 08:08

0 Answers0