I have a base view in XML.
<RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content"><TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Family" android:id="@+id/Family" android:textSize="16px" android:padding="5px" android:textStyle="bold" android:gravity="center_horizontal"></TextView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/Family" android:layout_alignRight="@+id/Family" android:text="@string/context_notion_level_off" android:id="@+id/ContextNotionLevel"></TextView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@+id/Detailed" android:layout_below="@+id/Family" android:layout_alignLeft="@+id/Family" android:textStyle="bold" android:id="@+id/Module" android:text="Location"></TextView>
<SeekBar android:layout_height="wrap_content" android:id="@+id/SeekBar01" android:layout_width="fill_parent" android:padding="5px" android:saveEnabled="true" android:layout_below="@+id/Module" android:max="2"></SeekBar>
</RelativeLayout>
How can I repeat the section X times under, to look like here:
Then, how can I access the seekbar for all items?
Please note that I want this to be dynamical to work eg: for 15 times.
How will be able to give a name(Location), set value(seekbar value), and retrieve value for each group.
From the picture you have, you dont want to repeat the "Family" title
What you can do is create a new xml (mymain.xml) containing a layout and the title
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@+id/myMainLayout" android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content">
<TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Family" android:id="@+id/Family" android:textSize="16px" android:padding="5px" android:textStyle="bold" android:gravity="center_horizontal"></TextView>
</LinearLayout>
Then in another xml (myviews.xml), put the xml you have put from your OP (with the title removed)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:textStyle="bold"
android:id="@+id/Module" android:text="Location">
</TextView>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="context_notion_level_off"
android:layout_alignRight="@+id/Module" android:id="@+id/ContextNotionLevel">
</TextView>
<SeekBar android:layout_height="wrap_content" android:id="@+id/SeekBar01"
android:layout_width="fill_parent" android:padding="5px"
android:saveEnabled="true" android:layout_below="@+id/Module"
android:max="2">
</SeekBar>
</RelativeLayout>
And the Activity:
super.onCreate(savedInstanceState);
setContentView(R.layout.mymain);
LinearLayout l = (LinearLayout) findViewById(R.id.myMainLayout);
LayoutInflater linflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for(int i = 0 ; i < 15; i++) {
View myView = linflater.inflate(R.layout.myviews, null);
SeekBar s = (SeekBar) myView.findViewById(R.id.SeekBar01);
//Set an id to know which seekbar is in use
s.setId(i);
TextView t = (TextView) myView.findViewById(R.id.Module);
//Change name dynamically
t.setText(("My location " + i).toString());
s.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
Log.i("=========","My SeekBar = " + seekBar.getId());
Log.i("=========","My Progress = " + progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}});
l.addView(myView);
}
EDIT:
To add scroll bars, add ScrollView tags around the LinearLayout from your mymain.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:scrollbars="vertical">
<LinearLayout android:orientation="vertical" android:id="@+id/myMainLayout" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Family" android:id="@+id/Family" android:textSize="16px" android:padding="5px" android:textStyle="bold" android:gravity="center_horizontal"></TextView>
</LinearLayout>
</ScrollView>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With