gpt4 book ai didi

android - 将整数传递给 BaseAdapter

转载 作者:搜寻专家 更新时间:2023-11-01 09:12:37 26 4
gpt4 key购买 nike

我正在尝试将一个整数数组传递给一个 baseadapter,这样 A.class 就会将一个整数数组传递给 B.class 中的 BaseAdapter。以下是我在 A.Class(发件人)中传递整数数组的方式:

int [] mThumb = {
R.drawable.image1_thumb, R.drawable.image2_thumb, R.drawable.image3_thumb,
R.drawable.image4_thumb, R.drawable.image5_thumb, R.drawable.image6_thumb,
R.drawable.image7_thumb, R.drawable.image8_thumb, R.drawable.image9_thumb,
R.drawable.image10_thumb};


Bundle b=new Bundle();
b.putIntArray("mThumbSent", mThumb);
Intent startSwitcher = new Intent(A.this, B.class);
startSwitcher.putExtras(b);

在 Activity B 的 BaseAdapter 中:

public class ImageSwitch1 extends Activity Extends ...{
onCreate....
[redacted]
}

private ImageSwitcher mSwitcher;


public class ImageAdapter extends BaseAdapter {

Bundle b=this.getIntent().getExtras();
int[] mThumb = b.getIntArray("mThumbSent");

public ImageAdapter(Context c) {

mContext = c;
}

public int getCount() {

return mThumb.length; //this used to say return mThumbIds

}

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

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

public View getView(int position, View convertView, ViewGroup parent) {

ImageView im = new ImageView(mContext);
im.setImageResource(mThumb[position]);
im.setAdjustViewBounds(true);
im.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
im.setBackgroundResource(R.drawable.picture_frame);


return im;
}

private Context mContext;

}
}

显然上面的代码是不正确的,我不能在 imageadapter 中使用 getintent。但这是我正在尝试完成的说明性示例,并且想知道如何通过 Intent 将变量或数组传递给 BaseAdapter(如果可能)。

最佳答案

getIntent() 将在您的 B 类中可用。

您可以将 Bundle 或整数数组放入 ImageAdapter 的构造函数中

public class ImageAdapter extends BaseAdapter {

public ImageAdapter(Context c, Bundle b) {
int[] mThumb = b.getIntArray("mThumbSent");
mContext = c;
}

.....
}

在您的 Activity B 中,以这种方式构建您的适配器:

ImageAdapter adapter = new ImageAdapter(yourcontext,getIntent().getExtras());

您想在哪里使用适配器?在 ListView 中?那么继承 ListAdapter 而不是 BaseAdapter 就足够了。

关于android - 将整数传递给 BaseAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7149416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com