将扩展ListView更改为自定义ListView

时间:2015-04-29 03:01:54

标签: android android-listview

我的protected function validateRequired($attribute, $value) { if (is_null($value)) { return false; } elseif (is_string($value) && trim($value) === '') { return false; } elseif ((is_array($value) || $value instanceof Countable) && count($value) < 1) { return false; } elseif ($value instanceof File) { return (string) $value->getPath() != ''; } return true; } 扩展了MainActivity,但现在我要添加ListActivity,此ActionBar应该扩展Activity,为此我需要更改将ActionBarActivity扩展为自定义ListView。我尝试了很多次,但没有成功。我该怎么办?

这是我的MainActivity Code的一部分:

ListView

2 个答案:

答案 0 :(得分:0)

尝试在onCreate中拥有的所有内容之前包含super.onCreate(savedInstanceState)。

答案 1 :(得分:0)

是的,继续并扩展ActionBarActivity。然后,在布局文件中定义ListView。例如,您的布局将如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    xmlns:tools="http://schemas.android.com/tools"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:paddingLeft="@dimen/activity_horizontal_margin"
                    android:paddingRight="@dimen/activity_horizontal_margin"
                    android:paddingTop="@dimen/activity_vertical_margin"
                    android:paddingBottom="@dimen/activity_vertical_margin">

        <ListView
            android:id="@+id/lv_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </ListView>
</RelativeLayout>

现在,在您的活动中,您将内容视图设置为我们在上面创建的布局。接下来,使用findViewById获取对ListView的引用。最后,将适配器绑定到ListView。顺便说一下,ArrayAdapter可能更适合你。

代码:

public class ListTestActivity extends ActionBarActivity {

    ListView mListView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_test);
        mListView = (ListView) findViewById(R.id.lv_list);
        mListView.setAdapter(new SimpleAdapter(
            MainActivity.this, testList,
            R.layout.list_item, new String[] { TAG_NAME, TAG_DESCRICAO }, new int[] { R.id.name,
            R.id.descricao });
    }

}