图像的GridView里面片段片段、图像、里面、GridView

2023-09-13 00:49:44 作者:静好

我刚开始开发开发iOS上后,在Android平台上。我环顾四周,我似乎无法弄清楚。 我想有一个网格视图显示被选中在操作栏选项卡后。该片段由控制标签栏主要活动带入视图。 我认为这个问题可能是与合格范围内,但我不知道。

I have just started to develop on the android platform after developing on iOS. I have looked around and I can't seem to figure it out. I am trying to have a grid view appear after a tab in the action bar is selected. The fragment is brought into view by a main activity that controls the tab bar. I think the problem may be something to do with passing context but I'm not sure.

下面是我的 MainActivity.java 。这是其中的片段被初始化并连接到活性。它的工作原理没有code的片段。

Here is my MainActivity.java. This is where the fragment is initialized and attached to the activity. It works without the code in the fragment.

if (mFragment == null){
            mFragment = Fragment.instantiate(mActivity, mClass.getName());
            ft.add(android.R.id.content,mFragment,mTag);
        } else {
            ft.attach(mFragment);
        }

下面是我的PhotosFragment.java这就是我想要的网格视图进行填充,并显示出来。

Here is my PhotosFragment.java This is where I want the grid view to be populated and displayed.

public class PhotosFragment extends Fragment {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        GridView gridview = (GridView) this.getActivity().findViewById(R.id.photogridview);
        gridview.setAdapter(new PhotoImageAdapter(this.getActivity()));
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }   
}

下面是我的 PhotoImageAdapter.java 类。这是其中的图像被添加到我认为适配器

Here is my PhotoImageAdapter.java class. This is where the images are added to the adapter I think.

  public class PhotoImageAdapter extends BaseAdapter {
    private Context mContext;

    public PhotoImageAdapter(Context c) {
        mContext = c;
    }

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(8, 8, 8, 8);
        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }

    private Integer[] mThumbIds = {
            R.drawable.sample_2, R.drawable.sample_3,
            R.drawable.sample_4, R.drawable.sample_5,
            R.drawable.sample_6, R.drawable.sample_7,
            R.drawable.sample_0, R.drawable.sample_1,
            R.drawable.sample_2, R.drawable.sample_3,
            R.drawable.sample_4, R.drawable.sample_5,
            R.drawable.sample_6, R.drawable.sample_7,
            R.drawable.sample_0, R.drawable.sample_1,
            R.drawable.sample_2, R.drawable.sample_3,
            R.drawable.sample_4, R.drawable.sample_5,
            R.drawable.sample_6, R.drawable.sample_7
    };
}

和这里是我的photos_layout其中包含了ID photogridview GridView控件。 photos_layout.xml

And here is my photos_layout which contains the gridview with the id photogridview. photos_layout.xml

 <?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/photogridview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:columnWidth="90dp"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:stretchMode="columnWidth"
    android:gravity="center">
</GridView>

修改

下面是日志报告时崩溃

    05-29 14:15:43.895: W/dalvikvm(676): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
05-29 14:15:43.925: E/AndroidRuntime(676): FATAL EXCEPTION: main
05-29 14:15:43.925: E/AndroidRuntime(676): java.lang.NullPointerException
05-29 14:15:43.925: E/AndroidRuntime(676):  at com.corecoders.PhotosFragment.onCreate(PhotosFragment.java:21)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:795)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1032)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.app.BackStackRecord.run(BackStackRecord.java:622)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1382)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.os.Handler.handleCallback(Handler.java:605)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.os.Looper.loop(Looper.java:137)
05-29 14:15:43.925: E/AndroidRuntime(676):  at android.app.ActivityThread.main(ActivityThread.java:4424)
05-29 14:15:43.925: E/AndroidRuntime(676):  at java.lang.reflect.Method.invokeNative(Native Method)
05-29 14:15:43.925: E/AndroidRuntime(676):  at java.lang.reflect.Method.invoke(Method.java:511)
05-29 14:15:43.925: E/AndroidRuntime(676):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-29 14:15:43.925: E/AndroidRuntime(676):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-29 14:15:43.925: E/AndroidRuntime(676):  at dalvik.system.NativeStart.main(Native Method)
05-29 14:15:44.494: I/dalvikvm(676): threadid=3: reacting to signal 3
05-29 14:15:44.514: I/dalvikvm(676): Wrote stack traces to '/data/anr/traces.txt'
05-29 14:20:43.995: I/Process(676): Sending signal. PID: 676 SIG: 9

当您单击该选项卡上的片段被初始化的应用程序崩溃。 我下面的教程是一个在href="http://developer.android.com/resources/tutorials/views/hello-gridview.html" rel="nofollow"> Android开发网站在