早上好
如何在setText中放置多个字符串资源以按顺序显示它们?
我有一个带有TextView(id:TxtDisp)和一个Button(id:NextSentence)的布局,当我单击它时会更改文本。
NextSentence.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TxtDisp.setText(R.string.sentence_2);
}
});
单击按钮时,在哪里或如何放置四到六个字符串资源以按顺序显示?
谢谢!
答案 0 :(得分:0)
当您将这些字符串保存在数组或其他内容中并具有一个计数器来保存当前显示的字符串时,您可以轻松地进行操作,如下所示
#Requires -Version 5
using module VrVsts
Set-StrictMode -Version latest
class VegaConfig
{
[PSObject] $Project
[PSObject] $User
VegaConfig() {
. "$PSScriptRoot\Get-UserPreferences.ps1"
$this.project = [PSCustomObject](Get-Content "$PSScriptRoot\ProjectConfig.json" | ConvertFrom-Json)
$this.user = Get-UserPreferences -RegistrySubfolder $this.project.UserPreferencesRegistryPath
}
[Diagnostics.CodeAnalysis.SuppressMessageAttribute("TypeNotFound", "", Target='VstsConnection', Justification='Parser Not good enough to detect this')]
#** Warnings are here
[VstsConnection] VstsConnection() {
return ([VstsConnection]::New($this.project.VstsUrl, $this.user.Credential))
}
}
方法中将句子放入onCreate()
ArrayList
然后在按钮上单击,您可以使用计数器并跟踪所选的计数器
ArrayList<Integer> strings = new ArrayList();
strings.add(R.string.sentence1);
strings.add(R.string.sentence2);
strings.add(R.string.sentence3);
我希望这会对您有所帮助
答案 1 :(得分:0)
您可以将字符串资源放在数组中,然后从中获取字符串。因此,添加一个班级成员以跟踪下一个句子
private int nextSentenceId = 0;
然后在onCreate
中使用这样的代码
final int[] sentences = new int[]{R.string.sentence_1, R.string.sentence_2, R.string.sentence_3};
NextSentence.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if( nextSentenceId < sentences.length ) {
TxtDisp.setText(sentences[nextSentenceId]);
++nextSentenceId;
}
}
});
确保在最后一句话时赶上来,否则会出现数组超出范围的错误。