Reputation:
Currently i've been adding textview progmatically in my code.
what i want is to put a button beside of 'anothertextview' programatically
here is my current code:
void addSubCat(){
final TextView subCat = new TextView(EncodeGroupActivity.this);
subCat.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
subCat.setText("Sub Category");
subCat.setTextSize(12);
subCat.setId(subCatCounter + 1);
final TextView subCatTextField = new TextView(EncodeGroupActivity.this,null,0,R.style.TextViewEncode);
subCat.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
subCatTextField.setTextAppearance(EncodeGroupActivity.this, R.style.TextViewEncode);
subCatTextField.setHint(R.string.sub_category);
subCatTextField.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showSubCategoryDialog(subCatTextField);
}
});
subCatTextField.setId(subCat.getId());
linearLayoutInside.addView(subCat);
linearLayoutInside.addView(subCatTextField);
}
Here is a sample visualization of what i want to achieve.
Upvotes: 0
Views: 70
Reputation: 1432
1.=> Hi! First take one LinearLayout with Vertical orientation in Your XML file like..
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:id="@+id/mainLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
2.=> put Below code in your activity (as your question in your method)
private LinearLayout mainLayout;
mainLayout=findViewById(R.id.mainLayout);
LinearLayout linearLayout=new LinearLayout(MainActivity.this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
mainLayout.addView(linearLayout);
TextView textView=new TextView(MainActivity.this);
textView.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
textView.setText("TEXTVIEW");
textView.setTextSize(12);
textView.setId(1);
linearLayout.addView(textView);
LinearLayout linearLayout1=new LinearLayout(MainActivity.this);
linearLayout1.setOrientation(LinearLayout.HORIZONTAL);
linearLayout1.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
mainLayout.addView(linearLayout1);
TextView textView1=new TextView(MainActivity.this);
textView1.setLayoutParams(new LinearLayout.LayoutParams(
400,
LinearLayout.LayoutParams.WRAP_CONTENT));
textView1.setText("ANOTHERTEXTVIEW");
textView1.setTextSize(12);
textView1.setId(2);
linearLayout1.addView(textView1);
Button button=new Button(MainActivity.this);
button.setLayoutParams(new LinearLayout.LayoutParams(
300,
LinearLayout.LayoutParams.WRAP_CONTENT));
button.setText("BUTTON");
button.setPadding(10,10,10,10);
button.setTextSize(12);
linearLayout1.addView(button);
AND Finally achieve your view as you want like.. ;)
Upvotes: 1
Reputation: 5742
Try this
void addSubCat(){
final TextView subCat = new TextView(EncodeGroupActivity.this);
subCat.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
subCat.setText("Sub Category");
subCat.setTextSize(12);
subCat.setId(subCatCounter + 1);
final TextView subCatTextField = new TextView(EncodeGroupActivity.this,null,0,R.style.TextViewEncode);
subCat.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
subCatTextField.setTextAppearance(EncodeGroupActivity.this, R.style.TextViewEncode);
subCatTextField.setHint(R.string.sub_category);
subCatTextField.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showSubCategoryDialog(subCatTextField);
}
});
subCatTextField.setId(subCat.getId());
Button myButton = new Button(this);<-------
myButton.setText("Push Me");<-------
linearLayoutInside.addView(myButton, lp);<-------
linearLayoutInside.addView(subCat);
linearLayoutInside.addView(subCatTextField);
}
Upvotes: 0