我需要动态设置TextView,我有一个单词,我想创建TextView,因为单词中有字母。所以我把第一个TextView,然后每个TextView放在最后一个创建的右边。这是我的代码:
letters = new TextView[Anagrame.length()];
for (int i = 0; i < Anagrame.length(); i++)
{
TextView letter = new TextView(getApplicationContext());
letter.setBackgroundResource(R.drawable.square);
letter.setText(String.valueOf(Anagrame.charAt(i)));
letter.setGravity(Gravity.CENTER);
letter.setId(i);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
if (i > 0)
{
Log.d("I ", Integer.toString(i));
Log.d("ID", Integer.toString(letters[i - 1].getId()));
params.addRule(RelativeLayout.RIGHT_OF, letters[i - 1].getId());
}
letter.setLayoutParams(params);
letters[i] = letter;
anagrameLayout.addView(letter);
}
一切都很好,除了最后一个TextView不在Right Position解释上的一件事:
最后一个TextView与第一个TextView位于同一个地方,但是当我检查循环时一切都很好看,当我检查日志时,计数器“i”和id是好的所以我看不出原因最后一个不在前一个的右边,而是在第一个的同一个地方。
所以,如果有人有想法,请提前谢谢。