我需要一些帮助我有一个滚动视图,用单选按钮显示一些问题,我想在用户到达最后一个问题时添加一个按钮,我希望只有在用户选择了所有答案后才能使用此按钮问题。
这是我的代码到目前为止,但它没有显示任何内容。我可以在没有按钮的情况下显示问题,但我也想显示按钮。
String countryName[] = { "India", "Pakistan", "China", "Nepal",
"Bangladesh" };
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
LinearLayout mLinearLayout = (LinearLayout) findViewById(R.id.linear1);
for (int k = 1; k <= 10; k++)
{
//create text button
TextView title = new TextView(this);
title.setText("Question Number:" + k);
title.setTextColor(Color.BLUE);
mLinearLayout.addView(title);
// create radio button
final RadioButton[] rb = new RadioButton[5];
RadioGroup rg = new RadioGroup(this);
rg.setOrientation(RadioGroup.VERTICAL);
for (int i = 0; i < 5; i++)
{
rb[i] = new RadioButton(this);
rg.addView(rb[i]);
rb[i].setText(countryName[i]);
}
mLinearLayout.addView(rg);}
ScrollView scroll = new ScrollView(this);
Button btn = new Button(this);
ViewGroup.LayoutParams blp = new ViewGroup.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
btn.setLayoutParams(blp);
btn.setText("Click Me");
mLinearLayout.addView(scroll);
mLinearLayout.addView(btn);
setContentView(mLinearLayout);
}
XML文件:
<!--?xml version="1.0" encoding="utf-8"?-->
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/buttons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:layout_alignParentBottom="true">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/textView3"
android:text="Continue" />
</LinearLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/linear1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
</RelativeLayout>
答案 0 :(得分:0)
mLinearLayout.addView(btn);
scroll.addView(mLinearLayout);
setContentView(scroll);
答案 1 :(得分:0)
您应该将LinearLayout放在ScrollView中,因为ScrollView是一个容器,其子项是可滚动的。另外,将ScrollView设置为活动的内容视图并定义其布局参数。
ScrollView scrollView = new ScrollView(this);
scrollView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
scroll.addView(mLinearLayout);
setContentView(scroll);
答案 2 :(得分:0)
您好我找到了正确的方法!最简单的方法是修复XML文件并在LinearLayout中添加LinearLayout,并将问题放在内部LinearLayout中,将按钮放在外部LinearLayout中。
这是诀窍:
<!--?xml version="1.0" encoding="utf-8"?-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linear1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2.87"
android:orientation="vertical" >
</LinearLayout>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2.87"
android:text="Button" />
</LinearLayout>
</ScrollView>