我有一些用于直接从ListActivity继承的类。一切正常。现在我继承自继承自ListActivity的BaseListActivity。
这是BaseListActivity:
public class BaseListActivity extends ListActivity
{
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
{
Button home_header = (Button)findViewById(R.id.home_header);
Button questions_header = (Button)findViewById(R.id.questions_header);
home_header.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
Intent myIntent = new Intent( BaseListActivity.this , ProblemioActivity.class);
BaseListActivity.this.startActivity(myIntent);
}
});
questions_header.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
Intent myIntent = new Intent( BaseListActivity.this , MyQuestionsActivity.class);
BaseListActivity.this.startActivity(myIntent);
}
});
}
}
它基本上为页面添加了一个标题。但是现在没有一个列表被渲染,也没有例外。
知道我还需要做些什么才能让它发挥作用吗?
以下是我更改原始布局的方法:
<?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"
android:orientation="vertical" >
<include android:id="@+id/header"
layout="@layout/header"
android:layout_height="wrap_content"
android:layout_width="fill_parent"/>
<TextView
android:id="@+id/question_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Loading your questions..."
/>
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label"
android:textSize="20px" >
</ListView>
这是我的onCreate
public class MyQuestionsActivity extends BaseListActivity
{
ArrayAdapter<Question> adapter;
ArrayList<Question> questions = new ArrayList <Question>( );
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.users_questions);
Question q = new Question ();
q.setQuestion( "" );
questions.add(q);
adapter = new ArrayAdapter<Question>(this, R.layout.user_question_list, questions);
现在我在BaseListActivity中有这个
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
{
我刚试过这个:
public class BaseListActivity extends ListActivity
{
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
{
setListAdapter(this.getListAdapter());
但它没有奏效:(
答案 0 :(得分:1)
请看这个
http://jnastase.alner.net/archive/2011/08/08/custom-android-listactivity.aspx
http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/
onCreate中有这一行......... 的setContentView(R.layout.main);