Android:按钮点击从ArrayList获取随机数据



我用java制作了一个过滤器,用于选择一个特定的大陆,当你点击刷新时,你会得到一个随机过滤的数据 这是我用Java编写的代码

public class Util {
public static CountriesData getCountrie(){
List<Country> mList = new ArrayList<>();
mList.add(new Country(R.drawable.ae, "Emarat","asia"));
mList.add(new Country(R.drawable.tm, "Turkmenistan","asia"));
mList.add(new Country(R.drawable.bj, "Benin","Afriqua"));
mList.add(new Country(R.drawable.va, "Seal of Virginia ","N.America"));
mList.add(new Country(R.drawable.us, "USA","N.America"));
mList.add(new Country(R.drawable.at, "Austria","Europe"));
mList.add(new Country(R.drawable.pt, "Portugal","Europe"));
mList.add(new Country(R.drawable.ki, "Kiribati ","S.America"));
mList.add(new Country(R.drawable.cu, "Cuba","S.America"));
mList.add(new Country(R.drawable.ht, "Haiti","S.America"));
return new CountriesData(mList);
}
}

我的问题是如何为我的按钮制作代码以在单击时获取数据

mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showRandomCountry();
}
});
}
public void showRandomCountry(){
schuffleAsia();
// int r = new Random().nextInt(mList.size());
mImageView.setImageResource(mList.get().getMcountry());
//  mTextView.setText(mList.get(m).getmFact());

'

将此function放在您的Util类中:-

public Country getRandomCountry() {  
return mList.get(new Random().nextInt(list.size()));//To get random item from the array.
}

And For Getting Shuffled Array Use This function:-

public ArrayList<Country> getShuffledList(int sizeOfArray) {
Util util = new Util();
List<Country> shuffledList = new ArrayList<>();
for (int i = 0; i < sizeOfArray; i++) {
shuffledList.add(util.getRandomCountry());
}
return shuffledList; 
}

最新更新