在StaggeredGridview中为Gridview添加项目

时间:2013-05-10 02:07:14

标签: android gridview

我从这里下载了StaggeredGridView库和演示:https://github.com/maurycyw/StaggeredGridViewDemo https://github.com/maurycyw/StaggeredGridView

我需要为gridview添加更多项目

全部谢谢

2 个答案:

答案 0 :(得分:0)

添加更多项目,只需在String数组中添加更多url。

private String urls[] = { 
            "http://farm7.staticflickr.com/6101/6853156632_6374976d38_c.jpg",
            "http://farm8.staticflickr.com/7232/6913504132_a0fce67a0e_c.jpg",
            "http://farm5.staticflickr.com/4133/5096108108_df62764fcc_b.jpg",
            "http://farm5.staticflickr.com/4074/4789681330_2e30dfcacb_b.jpg",
            "http://farm9.staticflickr.com/8208/8219397252_a04e2184b2.jpg",
            "http://farm9.staticflickr.com/8483/8218023445_02037c8fda.jpg",
            "http://farm9.staticflickr.com/8335/8144074340_38a4c622ab.jpg",
            "http://farm9.staticflickr.com/8060/8173387478_a117990661.jpg",
            "http://farm9.staticflickr.com/8056/8144042175_28c3564cd3.jpg",
            "http://farm9.staticflickr.com/8183/8088373701_c9281fc202.jpg",
            "http://farm9.staticflickr.com/8185/8081514424_270630b7a5.jpg",
            "http://farm9.staticflickr.com/8462/8005636463_0cb4ea6be2.jpg",
            "http://farm9.staticflickr.com/8306/7987149886_6535bf7055.jpg",
            "http://farm9.staticflickr.com/8444/7947923460_18ffdce3a5.jpg",
            "http://farm9.staticflickr.com/8182/7941954368_3c88ba4a28.jpg",
            "http://farm9.staticflickr.com/8304/7832284992_244762c43d.jpg",
            "http://farm9.staticflickr.com/8163/7709112696_3c7149a90a.jpg",
            "http://farm8.staticflickr.com/7127/7675112872_e92b1dbe35.jpg",
            "http://farm8.staticflickr.com/7111/7429651528_a23ebb0b8c.jpg",
            "http://farm9.staticflickr.com/8288/7525381378_aa2917fa0e.jpg",
            "http://farm6.staticflickr.com/5336/7384863678_5ef87814fe.jpg",
            "http://farm8.staticflickr.com/7102/7179457127_36e1cbaab7.jpg",
            "http://farm8.staticflickr.com/7086/7238812536_1334d78c05.jpg",
            "http://farm8.staticflickr.com/7243/7193236466_33a37765a4.jpg",
            "http://farm8.staticflickr.com/7251/7059629417_e0e96a4c46.jpg",
            "http://farm8.staticflickr.com/7084/6885444694_6272874cfc.jpg"
    };

它会自动拍摄新照片...

已编辑:

如果您使用了List<String>,那么..添加网址如下

List<String> flavours = new ArrayList<String>();
    flavours.add("http://farm8.staticflickr.com/7084/6885444694_6272874cfc.jpg");
    flavours.add("http://farm8.staticflickr.com/7251/7059629417_e0e96a4c46.jpg");
    flavours.add("http://farm8.staticflickr.com/7086/7238812536_1334d78c05.jpg");

答案 1 :(得分:0)

是的,我确实在onCreate中使用了相同的内容。

结束然后,我调用菜单项,使用AsyncTask,dapter.notifyDataSetChanged();单击为list_url添加更多项目URL。

错误==&gt;内存不足:堆大小= 65571KB,分配= 62049KB,限制= 65536KB

private ArrayList<String> urllinks;
private StaggeredGridView gridView;
private StaggeredGridViewAdapter adapter;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    gridView = (StaggeredGridView ) this.findViewById(R.id.staggeredGridView1);
    int margin = getResources().getDimensionPixelSize(R.dimen.margin);
    gridView.setItemMargin(margin); 
    gridView.setPadding(margin, 0, margin, 0); 

    urllinks = new ArrayList<String>();

    for (int i = 1; i < 50; i++) {
        urllinks.add("http://ecooking.tuyn.info/image/food/" + i + "/"
                + "name" + i + ".png");
    }

    adapter = new StaggeredGridViewAdapter(MainActivity.this, R.id.imageView1,
            urllinks);

    gridView.setAdapter(adapter);
    adapter.notifyDataSetChanged();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

public boolean onMenuItemSelected(int featureId, MenuItem itemmenu) {
    int itemId = itemmenu.getItemId();
    switch (itemId) {
    case R.id.menu_add_new_item:
        new GetDataTask().execute();
        break;
    }
    return true;
}

private class GetDataTask extends AsyncTask<Void, Void, String> {

    @Override
    protected String doInBackground(Void... params) {
        // a background job.
        for (int i = urllinks.size(); i < urllinks.size() + 2; i++) {
            urllinks.add("http://ecooking.tuyn.info/image/food/" + i
                    + "/" + "name" + i + ".png");
        }
        return null;
    }
    @Override
    protected void onPostExecute(String result) {

        adapter.notifyDataSetChanged();
        super.onPostExecute(result);
    }
}

谢谢