У меня есть строка с форматом, который выглядит так:
Recipe{id=someID, title=someTitle, image='LINK', usedIngredientCount=SomeNumber, missedIngredientCount=SomeNumber2, likes=SomeNumber3}Recipe{id=someID, title=someTitle, image='LINK', usedIngredientCount=SomeNumber, missedIngredientCount=SomeNumber2, likes=SomeNumber3}
Обратите внимание, что в приведенном выше примере строка содержит 2 рецепта, но на самом деле она может содержать любое количество рецептов.
Я хочу поместить любое количество рецептов в RecyclerView, и мне интересно, как это сделать проще всего. Я думаю о разделении основной строки на подстроки каждый раз, когда я нахожу слово Recipe, затем извлекаю someIDLINKSomeNumber1SomeNumber2SomeNumber3 из каждой подстроки и, наконец, заполняю RecyclerView, используя эти значения.
Не могли бы вы помочь мне преобразовать мою идею в код или придумать более простые способы сделать это?
Большое спасибо




class MainActivity extends AppCompatActivity
{
public RecyclerView recyclerView;
private RecyclerView.LayoutManager layoutManager;
public RecyclerAdapter adapterD;
ArrayList<String> id;
ArrayList<String> title;
ArrayList<String> image;
ArrayList<String> usedIngredientCount;
ArrayList<String> missedIngredientCount;
ArrayList<String> likes;
void onCreate()
{
id= new ArrayList<>();
title = new ArrayList<>();
image = new ArrayList<>();
likes = new ArrayList<>();
usedIngredientCount= new ArrayList<>();
missedIngredientCount = new usedIngredientCountArrayList<>();
// your recipe string here
String recipe = "id title image usedIngredientCount missedIngredientCount likes" ;
// break the string
dataSplit(recipe)
// call the recyclerview adapter
recyclerView=(RecyclerView)findViewById(R.id.recycler_view);
layoutManager=new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
adapterD = new RecyclerAdapter(MainActivity.this, id, title, image,
usedIngredientCount, missedIngredientCount, likes);
recyclerView.setAdapter(adapterD);
}
void dataSplit(String recipe)
{
// Split String when there is space
String parts[] = recipe.split(" ");
id.add( parts[0] );
title.add(parts[1]);
image.add(parts[2]);
usedIngredientCount.add(parts[3]);
missedIngredientCount.add(parts[4]);
likes.add(parts[5]);
}
}
}
Спасибо, но разве это не работает, если строка имеет такой формат? :
"id title image usedIngredientCount missedIngredientCount likes", а моя строка имеет такой формат:Recipe{id=someID, title=someTitle, image='LINK', usedIngredientCount=SomeNumber, missedIngredientCount=SomeNumber2, likes=SomeNumber3}Recipe{id=someID, title=someTitle, image='LINK', usedIngredientCount=SomeNumber, missedIngredientCount=SomeNumber2, likes=SomeNumber3}