Поместите TextView, созданный в коде, под TextView в XML - PullRequest
0 голосов
/ 07 апреля 2011

Я искал все выше и ниже, но не могу заставить это работать.

            TextView topic = (TextView) findViewById(R.id.topic);
        topic.setText(json_data.getString("topic"));


        TextView poster = (TextView) findViewById(R.id.poster);
        poster.setText(json_data.getString("name"));

        TextView detail = (TextView) findViewById(R.id.detail);
        detail.setText(json_data.getString("detail"));

        TextView test = new TextView(this);
        test.setText("test string");
        test.setTextColor(this.getResources().getColor(R.color.red));

        RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);

        p.addRule(RelativeLayout.BELOW, R.id.detail);

        addContentView(test, p);

Все работает, кроме последнего просмотра текста (теста), который будет отображаться только в левом верхнем углу.Я хочу это под textview (подробно).XML основан на

коде suedo.

Любая помощь будет принята с благодарностью, так как это последний бит моего приложения.

1 Ответ

0 голосов
/ 07 апреля 2011

Попробуйте использовать test.setLayoutParams(p); как таковое:

    RelativeLayout yourLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.newlayout, null, false);

    setContentView(yourLayout);

    TextView topic = (TextView) findViewById(R.id.topic);
    topic.setText(json_data.getString("topic"));


    TextView poster = (TextView) findViewById(R.id.poster);
    poster.setText(json_data.getString("name"));

    TextView detail = (TextView) findViewById(R.id.detail);
    detail.setText(json_data.getString("detail"));

    TextView test = new TextView(this);
    test.setText("test string");

    RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);

    p.addRule(RelativeLayout.BELOW, R.id.detail);

    test.setLayoutParams(p);

    yourLayout.addView(test);

    setContentView(yourLayout);
...