是否可以使用GridView进行活动?

时间:2013-01-29 20:44:15

标签: android gridview android-activity

我希望在gridView上显示活动,就像屏幕截图一样。 当我点击项目打开活动时,当我点击它时再次显示gridView。 当我点击newItem按钮时,它会创建新活动并在gridView上显示。

它是可行的还是我需要使用其他东西,而不是gridView

1 个答案:

答案 0 :(得分:0)

当然可以,而且也很简单。

1 - 例如,创建一个名为“GridHome.java”的活动。使此活动的布局仅为GridView。 2 - 使用来自其他活动的预加载图像填充gridview。比如说,截取其他活动的屏幕截图并将其存储为PNG,然后将它们作为drawable添加到您的应用程序中,最后通过客户适配器将它们添加到gridview。 3 - 将OnItemClickListener设置为gridview,以便当用户单击一个时,您可以为要打开的活动启动新意图。对于这个,您可以将这样的方法添加到自定义网格适配器:

public String getItemActivityName(int pos) {
    return activityNames.get(pos);
}

其中“activityNames”是与网格视图上的活动相对应的字符串数组。

从“GridHome.java”中你可以对GridVIew执行此操作:

mGridView = (GridView) view.findViewById(R.id.home_grid);
    mGridView.setAdapter(mAdapter);
    mGridView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                long arg3) {
            String activityName = mAdapter.getActivityName(position);       
            if (activityName.equals(ACTIVITY_ONE) {
                Intent intent = new Intent(getActivity(), ActivityOne.class);
                startActivity(intent);
            }               
        }           
    });

其中ACTIVITY_ONE是一个常量,表示您的活动的名称。

private static final String ACTIVITY_ONE = "Contacts";
private static final String ACTIVITY_TWO = "Groups";

依此类推。