BaseAdapter
の getView
メソッドで、グリッドビューに BaseAdapter
を使用しました。メインアクティビティのコンテキストを使用して新しいアクティビティを開始していますが、 iconメッセージアプリケーションが1秒間見つからず、新しいアクティビティが開始されました.log catで、エラー PakageManager $ PakageNotFoundEception
が表示されます。あなたの助けを前にありがとう。
public class ImageAdapter extends BaseAdapter{
private Context mContext;
ArrayList imgid;
Uri uri;
public ImageAdapter(Context c, ArrayList imgid2 ) {
super();
mContext = c;
imgid=imgid2;
}
@Override
public int getCount() {
//TODO Auto-generated method stub
return imgid.size();
}
@Override
public Object getItem(int position) {
//TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
//TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
//TODO Auto-generated method stub
ImageView imageView;
if (convertView == null) { //if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
//imageView.setClickable(true);
imageView.setPadding(8, 8, 8, 8);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("onClick","position ["+position+"]");
try {
final Intent intent= new Intent("settings");
intent.setClass(mContext, listAvtivity.class); //*******
if(imgid.get(position)==R.drawable.setting4){mContext.startActivity(intent);}
if(imgid.get(position)==R.drawable.google){uri = Uri.parse("http://www.google.com");}
if(imgid.get(position)==R.drawable.yahoo){uri = Uri.parse("http://www.yahoo.com");}
if(imgid.get(position)==R.drawable.skype){uri = Uri.parse("http://www.skype.com");}
Intent intent1 = new Intent(Intent.ACTION_VIEW, uri);
mContext.startActivity(intent1);
} catch (Exception e) {
//TODO: handle exception
Log.e("onClick Error: ",e.toString());
}
}
});
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imgid.get(position));
return imageView;
}
}