我想将以编程方式创建的视图添加到ScrollView
中,并在XML文件中声明ScrollView
。怎么做到这一点?
package com.example.multipleviews;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.Toast;
public class MainView extends Activity {
LinearLayout main, child;
ScrollView sc;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main_view);
main = (LinearLayout) findViewById(R.id.main);
// Toast.makeText(getApplicationContext(), "hello", 0).show();
view();
}
private void view() {
// TODO Auto-generated method stub
main.removeAllViews();
sc = (ScrollView) findViewById(R.id.sc);
sc.removeAllViews();
child = (LinearLayout) findViewById(R.id.lin);
child.removeAllViews();
for (int i = 0; i < 5; i++) {
Button b = new Button(this);
b.setText("Button "+i);
b.setId(i);
child=(LinearLayout)findViewById(R.id.lin);
child.addView(b);
}
sc.addView(child);
main.addView(sc);
setContentView(main);
}
}
这是我的代码.....但是应用程序没有运行.....
答案 0 :(得分:1)
步骤1:在ScrollView
中添加任何布局容器(例如线性布局)
<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:id="@+id/resultContentHolder"
android:layout_width="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal|top"
android:layout_height="fill_parent" />
</ScrollView>
步骤2:在例如
的活动段中的布局容器中添加任何自定义视图LinearLayout gapH = new LinearLayout(this);
LayoutParams gapParamsH = new LayoutParams(LayoutParams.FILL_PARENT,10);
gapH.setLayoutParams(gapParamsH);
resultContentHolder.addView(gapH);
答案 1 :(得分:0)
firs创建子布局,您可以创建动态视图。您可以引用此link来添加动态视图。
答案 2 :(得分:0)
您确定要使用ScrollView
吗?听起来你可能会更好地使用ListView
。
如果您需要ListView
,this tutorial on vogella.com
是我知道如何使用它们的最好的教程之一。
答案 3 :(得分:0)
// Find the ScrollView
ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView1);
// Create a LinearLayout element
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
// Add Buttons
Button button = new Button(this);
button.setText("Some text");
linearLayout.addView(button);
// Add the LinearLayout element to the ScrollView
scrollView.addView(linearLayout);