0

I've following code, which add textCheckedView into relative layout:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main_activity);


        final RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.relativeLayout1);

        final RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
        p.addRule(RelativeLayout.ALIGN_PARENT_TOP);

        final Button button = (Button) findViewById(R.id.button1);
        button.setOnClickListener(new View.OnClickListener() {
            int ids=0;
            public void onClick(View v) {


                String test ="test";
                ids++;

                final AlarmCheckedTextView checkedTV = createButton(test,ids);
                checkedTV.setVisibility(1);       
                p.addRule(RelativeLayout.BELOW,checkedTV.getId());

                rlayout.addView(checkedTV,p);  
            }
        });


    }




    private CustomCheckedTextView createButton(String text, int id)
    {
        final CustomCheckedTextView checkedTV = new CustomCheckedTextView(this,text);
        checkedTV.setId(id);
        return checkedTV;
    }

}

But I've a problem with adding CustomCheckedTextView into RelativeLayout after clicking on Button. I mean that everything is added successfully but all in one place. How can I add elements below than previous programmatically?

0

1 Answer 1

1

You can understand it like this:---

Suppose you want to create Two TextView & want to put below one textview to another:--

    RelativeLayout relative = new RelativeLayout(this);
                TextView proposalA = new TextView(this);
                proposalA.setText("Proposal A:-");
                proposalA.setTextColor(Color.BLACK);
                proposalA.setId(R.id.propasal_a);//set id for this TextView you can put unique id for every content in your string folder otherwise you can set id like this:   tv1.setId((int)System.currentTimeMillis());
                proposalA.setTextSize(16);
                proposalA.setTypeface(Typeface.DEFAULT_BOLD);
                RelativeLayout.LayoutParams relative_params_a = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
                relative_params_a.setMargins(20, 6, 0, 0);

proposalA.setLayoutParams(relative_params_a); relative .addView(proposalA); // add textview in your main relative layout Now you want to put (textview)proposalB below on textview(ProposalA) then:- for 2nd TextView under 1st TextView use addRule Like this:---

            TextView proposalB = new TextView(this);
            proposalB.setText("Proposal B:-");
            proposalB.setTextColor(Color.BLACK);
            proposalB.setId(R.id.propasal_b);   
            proposalB.setTextSize(16);
            proposalB.setTypeface(Typeface.DEFAULT_BOLD);
            RelativeLayout.LayoutParams relative_params_b = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
          relative_params_b.addRule(RelativeLayout.BELOW,proposalA.getId());

            relative_params.setMargins(20, 6, 0, 0);
           proposalB.setLayoutParams(relative_params_b);
        relative .addView(proposalB);
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.