0

次のアクティビティで setContentView() を呼び出すにはどうすればよいですか?

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class MyListActivity extends ListActivity {
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        String[] values = new String[] { 
            "Android", 
            "iPhone", 
            "WindowsMobile",
            "Blackberry", 
            "WebOS", 
            "Ubuntu", 
            "Windows7", 
            "Max OS X",
            "Linux", 
            "OS/2" };
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);
    }
}

ご覧のとおり、ListActivities は必ずしもレイアウト ファイルを必要としません。でももう慣れました(笑)。私は setContentView() を実行する必要がある MenuDrawer を持っています...私はどんなオプションにもオープンです。

ありがとう!

4

3 に答える 3

1

他のアクティビティと同じように呼び出しsetContentView()ますが、ListActivities には追加の要件が 1 つあります。レイアウトには、次の属性を持つ ListView が必要ですandroid:id="@android:id/list"

public class MyListActivity extends ListActivity {
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.activity_myListActivity);
        ...
于 2013-02-07T19:18:56.493 に答える
0

MenuDrawer がListActivitySampleに投稿したサンプルに従ってください。キーはsetContentView、 ListActivity によってあなたに代わって呼び出される をオーバーライドし、それをメニュー ドロワーに転送することのようです。

以下が鍵のようです。

@Override
public void setContentView(int layoutResID) {
    // This override is only needed when using MENU_DRAG_CONTENT.
    mMenuDrawer.setContentView(layoutResID);
    onContentChanged();
}
于 2013-02-07T19:24:00.167 に答える
0

アクティビティの getListView() を呼び出しました。

mMenuDrawer.setContentView(getListView());

StackOverflowに投稿した後、なぜ私はいつも何かを理解するのですか???

于 2013-02-07T19:37:39.450 に答える