【问题标题】:Can I dynamically populate a ListView in an ActionBarActivity?我可以在 ActionBarActivity 中动态填充 ListView 吗?
【发布时间】:2015-01-18 23:49:56
【问题描述】:

我看到了许多在 ListActivity 中填充 ListView 的示例。我想要一个动态填充的 ListView,但在一个带有操作栏的活动中。

所以不是(就像我看到的例子):

public class EditHolidaysActivity extends ListActivity {

我有:

public class EditHolidaysActivity extends ActionBarActivity {

但是 setListAdapter 方法无法解析。我可以使用什么方法来填充 ListView?下面是xml和java的sn-ps:

    ...
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Anni"
        android:id="@+id/chkbxAnniversary"
        android:checked="false"
        android:onClick="saveAnniPref"/>

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

</LinearLayout>

Java:

public class EditHolidaysActivity extends ActionBarActivity {
    public static final String PREFS_NAME = MainActivity.PREFS_NAME;
    private final static String TEXT_DATA_KEY = "textData";
    private CommentsDataSource datasource;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edit_holidays);

        datasource = new CommentsDataSource(this);
        datasource.open();

        List<Comment> values = datasource.getAllComments();

        // use the SimpleCursorAdapter to show the
        // elements in a ListView
        ArrayAdapter<Comment> adapter = new ArrayAdapter<Comment>(this,
                android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);
    }

谢谢!

【问题讨论】:

  • 为什么不使用myListView = (ListView)findByViewId(R.id.lstName)创建ListView myListView的实例,然后调用myListView.setAdapter(adapter)
  • 更正;使用myListView = (ListView)findViewById(R.id.lstName) - 请参阅下面的答案。

标签: java android listview android-listview listadapter


【解决方案1】:

类似这样的:

public class EditHolidaysActivity extends ActionBarActivity {
public static final String PREFS_NAME = MainActivity.PREFS_NAME;
private final static String TEXT_DATA_KEY = "textData";
private CommentsDataSource datasource;
private ListView lstView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_edit_holidays);

    lstView = (ListView)findViewById(R.id.list);

    datasource = new CommentsDataSource(this);
    datasource.open();

    List<Comment> values = datasource.getAllComments();

    // use the SimpleCursorAdapter to show the
    // elements in a ListView
    ArrayAdapter<Comment> adapter = new ArrayAdapter<Comment>(this,
            android.R.layout.simple_list_item_1, values);
    lstView.setAdapter(adapter);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 2016-12-07
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    相关资源
    最近更新 更多