我有一个Activity,我尝试显示一些简单的消息,然后是一个项目列表。据我所知,我需要两个视图:一个用于简单布局,另一个用于将由适配器处理的项目列表。
这是我的代码:
ArrayAdapter<SolutionTopic> adapter;
ArrayList<SolutionTopic> problems = new ArrayList <SolutionTopic>( );
/ **首次创建活动时调用。 * / @覆盖 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
// Load your layout
setContentView(R.layout.solution);
SolutionTopic s = new SolutionTopic ();
s.setSolutionTopicName( "Hello" );
problems.add(s);
adapter = new ArrayAdapter<SolutionTopic>(this, R.layout.solution_topic_list,
R.id.label, problems);
TextView solution_title = (TextView) findViewById(R.id.solution_title);
TextView solution_description = (TextView) findViewById(R.id.solution_description);
setListAdapter (adapter);
}
,这是solution.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/solution_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Label1"
/>
<TextView
android:id="@+id/solution_description"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Label2"
/>
</LinearLayout>
,这是solution_topic_list.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
我不确定如何让这两个一起渲染。理想情况下,我想要做的是首先显示TextView消息,然后显示项目列表。
知道我该怎么做吗?
谢谢!
答案 0 :(得分:1)
您不应该从solution.xml中删除ListView,在该ListView中将显示您的SolutionTopics。
为了全面了解,您的界面将有三个视图:
-TextView:@ + id / solution_title
-TextView:@ + id / solution_description
-ListView:@android:id / list
ListView包含未定义数量的solution_topic_list.xml条目。
PD:ArrayAdapter(R.id.label)的第三个参数应该是solution_topic_list.xml中TextView的id:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
您还应该在SolutionTopic类中实现toString方法,以获取所需的String。