假设我有一个像这样的数组:
Array {
{
"id" => 1,
"text" => "First Text"
},
{
"id" => 2,
"text" => "Second Text"
},
{
"id" => 3,
"text" => "Third Text"
},
}
我想输出数组text => First Text
的第一个元素
然后有一个我将单击的Button
,如果此按钮的单击计数等于4
,则输出数组text => Second Text
的下一个元素,直到到达数组末尾。
通过知道该数组将具有动态数量的具有不同数据的元素。
我拥有的代码:
for(int i = 0; i < array.size(); i++)
{
someElement.setText(i);
break;
}
我该如何实现?
谢谢!
答案 0 :(得分:1)
在您的private int
类中创建一个Button
,这会将文本的当前索引保存在array
中。
点击后,按钮应执行以下操作
if(cur_text_index == array.size())
{ return; }
setText(array.get(cur_text_index));
++cur_text_index;
如果您希望在更改按钮的文本之前先单击两次,请在private int
类中添加第二个Button
,以保存单击的次数而不更改其文本。< / p>
点击后,按钮应执行以下操作
if(cur_text_index == array.size())
{ return; }
if(clicks_since_text_change < 4)
{
++clicks_since_text_change;
return;
}
clicks_since_text_change= 0;
setText(array.get(cur_text_index));
++cur_text_index;
答案 1 :(得分:1)
为什么您完全使用id? 您不能只使用一个值为“第一文本”,“第二文本”,“第三文本”的数组 所以
String [] textArray = new String [] {“第一文本”,“第二文本”,“第三文本”}
int textIndex = 0;
然后说
someElement.setText(textIndex++)
在onClickListener中?
要阻止它访问不存在的索引,可以放一个
if(textIndex+1>=textArray.length)
周围