我将 String[] 和图像传递给图像网格的 Adapter 类。
请检查我的代码并让我知道错误应该在哪里,因为我没有收到任何错误和输出。由于程序正在运行,我在同一个适配器类中设置了 String[]
MainActivity
public class MainActivity extends AppCompatActivity {
public static String[] mThumbIds = {
"http://10.0.2.2/e-stitch/img/1.gif",
"http://10.0.2.2/e-stitch/img/1.gif",
"http://10.0.2.2/e-stitch/img/1.gif",
"http://10.0.2.2/e-stitch/img/1.gif",
"http://10.0.2.2/e-stitch/img/1.gif",
"http://10.0.2.2/e-stitch/img/1.gif",
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageAdapter imageAdapter = new ImageAdapter (MainActivity.this);
imageAdapter.setimag(mThumbIds,mThumbIds.length);
final GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
// i.putExtra("id", position);
// startActivity(i);
}
});
}
图像适配器
public class ImageAdapter extends BaseAdapter {
private Context mContext;
int imageTotal;
public static String[] mThumbIds;
public ImageAdapter(Context c) {
mContext = c;
}
public void setimag(String[] mThumbIds,int count){
this.mThumbIds = mThumbIds;
this.imageTotal = count;
}
public int getCount() {
return imageTotal;
}
@Override
public String getItem(int position) {
return mThumbIds[position];
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(480, 480));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
String url = getItem(position);
Picasso.with(mContext)
.load(url)
.placeholder(R.drawable.loader)
.fit()
.centerCrop().into(imageView);
return imageView;
}
}
请帮帮我,因为我是 android 新手
Best Answer-推荐答案 strong>
这是你出错的地方 gridview.setAdapter(new ImageAdapter(this)); ,而不是传递初始化的适配器,而是传递没有图像 id 的新适配器。
更正的代码
ImageAdapter imageAdapter = new ImageAdapter (MainActivity.this);
imageAdapter.setimag(mThumbIds,mThumbIds.length);
final GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(imageAdapter);
关于android - 将 String[] 传递给 Adapter 但未显示输出,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/48545952/
|