Android:使用RIGHT_OF动态设置TextView

时间:2015-03-13 08:02:22

标签: android

我需要动态设置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是好的所以我看不出原因最后一个不在前一个的右边,而是在第一个的同一个地方。

所以,如果有人有想法,请提前谢谢。

0 个答案:

没有答案