0

さまざまな画像でグリッドビューを表示するアクティビティがあります。これらの画像の1つをクリックするとき、クリックした画像を別のアクティビティの背景画像にします。

どうやってやるの?

これは、グリッドビューを表示する私のアクティビティです。

public class HelloGridViewActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    GridView gridView = (GridView) findViewById(R.id.gridview);

    // Instance of ImageAdapter Class
    gridView.setAdapter(new ImageAdapter(this));

    /**
     * On Click event for Single Gridview Item
     * */
    gridView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

//WHAT SHALL I PUT HERE????
    }
}
}
4

2 に答える 2

1

BG にしたい画像のリソース ID を取得し、設定に保存します。

    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        saveImageId(position);
    }

private void saveImageId(int position) {
    int id = getImageId(); // get the R.drawable.* id of the image. You should be able to figure this out.
    Editor ed = PreferenceManager.getDefaultSharedPreferences(this).edit();
    ed.putInt("bg_image_id", id);
    ed.commit();
}

他のアクティビティで、イメージ ID を取得できます。

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
int id = prefs.getInt("bg_image_id", R.drawable.default_background); //Get image id, use default background if there isn't one.
LinearLayout mLayout = (LinearLayout) findViewById(R.id.background_layout);
mLayout.setBackgroundResource(id);

幸運を

于 2012-05-28T22:37:12.857 に答える