Я проанализировал JSON-файл, так что нужный мне текст находится в HashMap. Как мне отобразить этот текст на вкладках? Или есть способ сделать строки в файле JSON как строковые переменные в файле strings.xml?
Редактировать: вот большая часть кода для моего основного класса анализа данных и метода onCreate
public class MainActivity extends AppCompatActivity {
private static final String TAG = "Dining Hall Menu";
private List<String> days = Arrays.asList("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
private LinkedHashMap<String, String> menu = new LinkedHashMap<>();
private SectionsPageAdapter mSectionsPageAdapter;
private ViewPager mViewPager;
private int[] tabIcons = {
R.drawable.ic_action_name,
R.drawable.ic_action_tomorrow,
R.drawable.ic_action_week
};
public void readJsonStream(InputStream in) throws IOException {
JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
try {
readMessagesArray(reader);
} finally {
reader.close();
}
}
public void readMessagesArray(JsonReader reader) throws IOException {
int count = 0;
reader.beginArray();
while (reader.hasNext()) {
readMessage(reader, count);
count++;
}
reader.endArray();
}
public void readMessage(JsonReader reader, int count) throws IOException {
String day,food;
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("Monday") || name.equals("Tuesday") || name.equals("Wednesday")
|| name.equals("Thursday") || name.equals("Friday")
|| name.equals("Saturday") || name.equals("Sunday")) {
day = name;
food = reader.nextString();
if (count == 0) {
menu.put(day, food);
} else if (count == 1) {
menu.put(day, menu.get(day) + food);
} else {
menu.put(day, menu.get(day) + food);
}
} else {
reader.skipValue();
}
}
reader.endObject();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
try {
InputStream in = getAssets().open("Week11.json");
readJsonStream(in);
}
catch(IOException e) {
e.printStackTrace();
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "onCreate: Starting");
mSectionsPageAdapter = new SectionsPageAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.container);
setupViewPager(mViewPager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
setupTabIcons(tabLayout);
}