Передать список ссылок из string.xml в Activity
Всем привет!
В string.xml есть:
<string name="linkads">"https://google.com", "https://yandex.ru", "https://bing.com"</string>
Есть MainActivity:
public class MainActivity extends AppCompatActivity {
public int index = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
List<String> links =new ArrayList() {
{
add(getApplicationContext().getResources().getString(R.string.linkads));
}
};
if (index <= links.size()){
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(links.get(index)));
startActivity(i);
}else{
// ссылки кончились
Toast.makeText(getApplicationContext(), String.valueOf("The assignments are over."), Toast.LENGTH_SHORT).show();
Log.d("TAG", "The rewarded ad wasn't loaded yet.");
}
index++;
}});
}
}
При нажатии на кнопку открывается только первая ссылка, остальные пропускаются и выводится else{// ссылки кончились...}
Помогите пожалуйста решить данную проблему. Спасибо!
Ответы (1 шт):
Автор решения: ЮрийСПб
→ Ссылка
Вы не храните ваши ссылки как массив. Вы храните одну длинную строку, содержащую ссылки.
Вам надо примерно так сделать в ресурсах:
<string-array name="stringArray">
<item>ссылка один, без кавычек</item>
<item>ссылка два, без кавычек</item>
</string-array>
И так в коде:
List<String> links = new ArrayList(Arrays.asList(getResources().getStringArray(R.array.stringArray)));