创建动态视图,多视图X次,获取/设置为每个组值 [英] creating dynamic view, multiple a view X times, get/set value for each group
问题描述
我在XML基础视图。
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>
我
如何能重复部分X倍下,看起来像这里:
How can I repeat the section X times under, to look like here:
那么,我怎么能访问搜索栏的所有项目?
请注意,我想这是动态的工作,例如:15次。
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
你可以做的就是创建一个包含布局和标题一个新的XML(mymain.xml)
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>
然后在另一个XML(myviews.xml),把你已经把从OP的XML(标题为删除)
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>
和活动:
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);
}
编辑:
要从mymain.xml添加滚动条,加上周围的LinearLayout滚动型标签
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>
这篇关于创建动态视图,多视图X次,获取/设置为每个组值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!