我正在尝试以编程方式创建这个ViewGroup,但是我在这方面遇到了麻烦(因为我对这个东西不是很好)有人可以指出如何以编程方式执行此操作吗?
<TextView
android:text="Semester 1"
android:textColor="#b3000d"
android:gravity="center_vertical|center_horizontal"
android:textSize="26dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:background="#ffb0b6"
android:layout_marginBottom="5dip"
android:typeface="sans"/>
<RelativeLayout
android:id="@+id/relative"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#570000">
<TextView android:id="@+id/tv_1"
android:textColor="#FFFFFF"
android:gravity="center_vertical|left"
android:textSize="16dip"
android:layout_height="wrap_content"
android:textStyle="bold"
android:typeface="serif"
android:layout_width="90dip"
android:paddingLeft="20dip"
android:text="Grade">
</TextView>
<TextView android:id="@+id/tv_2"
android:textColor="#FFFFFF"
android:gravity="center_vertical|left"
android:textSize="16dip"
android:layout_height="wrap_content"
android:textStyle="bold"
android:typeface="serif"
android:layout_width="200dip"
android:layout_toRightOf="@+id/tv_1"
android:text="Courses">
</TextView>
</RelativeLayout>
<ListView
android:id="@+id/lv_country"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:cacheColorHint="#00000000">
</ListView>
答案 0 :(得分:1)
下面的代码以编程方式在布局中构建一系列文本视图和微调器。
private void addQuestionToLayout(final Question question, ViewGroup viewGroup) {
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
TextView textView = new TextView(this);
textView.setText(question.name);
linearLayout.addView(textView);
Spinner spinner = new Spinner(this);
linearLayout.addView(spinner);
questionToSpinner.put(question, spinner);
SpinnerAdapter adapter = new SpinnerAdapter(this, android.R.layout.simple_spinner_item, question);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinner.setAdapter(adapter);
spinner.setSelection(question.defaultAnswer); // problems???
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
SpinnerAdapter spinnerAdapter = (SpinnerAdapter) parent.getAdapter();
showToast(spinnerAdapter.question.name + " position=" + position + " id=" + id);
score.setText(model.formatScoreString(score()));
}
public void onNothingSelected(AdapterView<?> parent) {
SpinnerAdapter spinnerAdapter = (SpinnerAdapter) parent.getAdapter();
showToast(spinnerAdapter.question.name + " unselected");
}
});
viewGroup.addView(linearLayout);
}
private void addQuestionsToLayout(Model model, ViewGroup viewGroup) {
for (Question question : model.questions)
addQuestionToLayout(question, viewGroup);
}