我有一些字符串,我想根据一个数字得到每个字符串。例如。我有字符串:
<string name="ln1">Line1</string>
<string name="ln2">Line2</string>
<string name="ln3">Line3</string>
这是我的活动:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counter = 2;
box = (TextView) findViewById(R.id.textView1);
box.setText(R.string.ln1);
box.setOnClickListener(this);}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
box.setText(R.string.ln+ counter);
counter = counter + 1;
}
现在,当我单击TextView时,文本显示为“R.string.ln2”。当我点击TextView
时,如何设置TextView
以显示下一个字符串(即:ln2)?
答案 0 :(得分:1)
我认为如果你想让一个字符串集合循环,你最好在你的资源文件中使用字符串数组:
<string-array name="somename">
<item>Line1</item>
<item>Line2</item>
<item>Line3</item>
</string-array>
然后在代码中访问它:
String[] lines;
int counter = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lines = getResources().getStringArray(R.string.somename);
box = (TextView) findViewById(R.id.textView1);
box.setText(lines[0]);
box.setOnClickListener(this);}
@Override
public void onClick(View arg0) {
counter = counter + 1;
box.setText(lines[counter]);
}
答案 1 :(得分:0)
您可以使用:<string>
R.string.string_name
代码
示例:
String lineOne = getResources().getString(R.string.ln1);
或者您可以直接将字符串设置为TextView或任何其他小部件:
setText(R.string.ln2);
答案 2 :(得分:0)
你可以使用字符串数组
<string name="ln1">Line1</string>
<string name="ln2">Line2</string>
<string name="ln3">Line3</string>
Java文件
String[] value;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
value[0] = R.string.ln1;
value[1] = R.string.ln2;
value[2] = R.string.ln3;
counter = 0;
box = (TextView) findViewById(R.id.textView1);
box.setText(R.string.ln1);
box.setOnClickListener(this);}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
box.setText(value[counter]);
counter = counter + 1;
}