I'm having one empty Linear Layout in xml. And I'm adding some text view to it dynamically.
once these textviews exceeds 5 then i'm creating one more linear layout inside it and adding text views to newly created Layout. And finally adding this new layout to main layout.
I'm able to add, i.e in emulator it occupy that space but, will not display the info in the textviews.
my xml is as follows:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/dyn_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dip" >
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/dyn_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add TextViews" />
</LinearLayout>
and my java file is as follows:
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class AddTextViewsDynamically extends Activity implements
OnClickListener {
Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_textview_dynamically);
button = (Button) findViewById(R.id.dyn_button1);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.dyn_button1:
LinearLayout layout = (LinearLayout) findViewById(R.id.dyn_layout);
LinearLayout layout2 = null;
LinearLayout layout3 = null;
for (int i = 0; i < 10; i++) {
if (i > 4) {
if (i == 5) {
layout2 = new LinearLayout(this);
layout2.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
layout2.setOrientation(LinearLayout.VERTICAL);
layout2.setPadding(10, 60, 10, 10);
layout3 = new LinearLayout(this);
layout3.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
layout3.setOrientation(LinearLayout.HORIZONTAL);
layout3.setPadding(10, 10, 10, 10);
}
System.out.println("**** Adding text view " + i);
TextView text = new TextView(this);
text.setText("The Value of i is :" + i);
text.setTextSize(12);
text.setGravity(Gravity.LEFT);
text.setLayoutParams(new LayoutParams(155,
LayoutParams.WRAP_CONTENT));
layout3.addView(text);
if (i == 9) {
System.out
.println("Added second linear layout to first");
layout2.setVisibility(View.VISIBLE);
layout2.addView(layout3);
layout.addView(layout2);
}
} else {
System.out.println("###### Adding text view " + i);
TextView text = new TextView(this);
text.setText("The Value of i is :" + i);
text.setTextSize(12);
text.setGravity(Gravity.LEFT);
text.setLayoutParams(new LayoutParams(155,
LayoutParams.WRAP_CONTENT));
layout.addView(text);
}
}
}
}
}
Where am I going wrong?