0

更新:

只是让你知道,当我尝试导入项目时,我最终会遇到比我数不清的更多错误,因此为什么我在这里试图弄清楚。我的滑动工作正常,只是添加了一个让我失望的列表菜单。谢谢你对我的耐心。

我没有更改主要内容,所以无论如何都是这样:

package com.projectcaruso.nfp;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

我厌倦了将他的代码作为 MenuFragment.java 导入我的

package com.projectcaruso.nfp;

import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class MenuFragment extends ListFragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.list, null);
    }

    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        SampleAdapter adapter = new SampleAdapter(getActivity());
        for (int i = 0; i < 20; i++) {
            adapter.add(new SampleItem("Sample List", android.R.drawable.ic_menu_search));
        }
        setListAdapter(adapter);
    }

    private class SampleItem {
        public String tag;
        public int iconRes;
        public SampleItem(String tag, int iconRes) {
            this.tag = tag; 
            this.iconRes = iconRes;
        }
    }

    public class SampleAdapter extends ArrayAdapter<SampleItem> {

        public SampleAdapter(Context context) {
            super(context, 0);
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = LayoutInflater.from(getContext()).inflate(R.layout.row, null);
            }
            ImageView icon = (ImageView) convertView.findViewById(R.id.row_icon);
            icon.setImageResource(getItem(position).iconRes);
            TextView title = (TextView) convertView.findViewById(R.id.row_title);
            title.setText(getItem(position).tag);

            return convertView;
        }

    }
}

list.xml 为空白 activity_main.xml 如下:

<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:paddingBottom="@dimen/activity_vertical_margin"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingRight="@dimen/activity_horizontal_margin"
            android:paddingTop="@dimen/activity_vertical_margin"
            tools:context=".MainActivity" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/hello_world" />

        </RelativeLayout>
4

1 回答 1

1

您当前的代码存在许多问题。我建议您查看滑动菜单 ( SlidingFragmentActivity, SlidingListActivity) 示例中给出的示例
您不能同时运行两个活动。滑动菜单在后面,但它由前面的活动管理。您正在寻找的是一个片段。

更新:
ActivityListFragment示例可能会有所帮助。
基本上你需要的是

// set the content view
        setBehindContentView(R.layout.fragment_menu);

应该是空白布局。然后是重要的部分:

return inflater.inflate(R.layout.list, null);

如果您执行 super.onCreateView() ,它将像您现在所拥有的那样什么都不做或崩溃。我强烈建议您查看链接中的两个示例。

于 2013-04-19T20:36:11.153 回答