Asim
Asim

Reputation: 7114

LinearLayout not showing an item that was added programatically

I'm trying to add a textview and a button to a linear layout programatically.

The button is showing up but the textview isn't.

Here is my code:

        LinearLayout main = (LinearLayout) findViewById(R.id.mainlayout);
        LinearLayout first = new LinearLayout(this);

        LayoutParams fparams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 5.0f);
        LayoutParams tvparams = new LayoutParams(0, LayoutParams.WRAP_CONTENT);
        LayoutParams btparams = new LayoutParams(0, LayoutParams.WRAP_CONTENT);

        first.setLayoutParams(fparams);
        first.setOrientation(LinearLayout.HORIZONTAL);

        TextView tv = new TextView(this);
        tvparams.weight = 3.0f;
        tv.setLayoutParams(tvparams);

        Button bt = new Button(this);
        btparams.weight = 2.0f;
        bt.setLayoutParams(btparams);

        first.addView(bt);
        first.addView(tv);      
        main.addView(first);

Upvotes: 0

Views: 308

Answers (2)

Christopher Francisco
Christopher Francisco

Reputation: 16268

Try setting some text on the TextView. Use it's setText() method

Upvotes: 1

Rohit Goswami
Rohit Goswami

Reputation: 617

ok try this to set programmatically

        LinearLayout myLayout = (LinearLayout)findViewById(R.id.parent);
 LayoutParams fparams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 5.0f);
        LayoutParams tvparams = new LayoutParams(0, LayoutParams.WRAP_CONTENT,3.0f);
        LayoutParams btparams = new LayoutParams(0, LayoutParams.WRAP_CONTENT,2.0f);
        LinearLayout first = new LinearLayout(this);
        first.setLayoutParams(fparams);
        first.setOrientation(LinearLayout.HORIZONTAL);

        TextView tv = new TextView(this);
        tv.setText("asdsad");
        tv.setLayoutParams(tvparams);

        Button bt = new Button(this);
        bt.setLayoutParams(btparams);

        first.addView(bt);
        first.addView(tv);      
        myLayout.addView(first);

hope it ll help,working for me correctly.

Upvotes: 0

Related Questions