Android 如何解决我的应用程序中的映像适配器错误?
嗨,我正试图将我的arraylist值放入我的映像适配器类中,但我现在遇到了错误。我正试图解决这个问题,但我不知道 错误行:Android 如何解决我的应用程序中的映像适配器错误?,android,image,adapter,Android,Image,Adapter,嗨,我正试图将我的arraylist值放入我的映像适配器类中,但我现在遇到了错误。我正试图解决这个问题,但我不知道 错误行: Bitmap bitmap = BitmapFactory.decodeFile(path_List.get(position)); 错误:类型束中的方法get(String)不适用于参数(int) 我的代码: parxmlActivity.java类 public class ParxmlActivity extends Activity { private
Bitmap bitmap = BitmapFactory.decodeFile(path_List.get(position));
错误:类型束中的方法get(String)不适用于参数(int)
我的代码:
parxmlActivity.java类
public class ParxmlActivity extends Activity {
private String array_spinner[];
private Cursor cursor;
private int columnIndex;
ParsedExampleDataSet parsedExampleDataSet= null;
ArrayList<String> hltag_List=new ArrayList<String>();
ArrayList<Subchild>sltag_List=new ArrayList<Subchild>();
ArrayList<String> name_List =new ArrayList<String>();
ArrayList<String> path_List =new ArrayList<String>();
ArrayList<String> mmimage_List = new ArrayList<String>();
ArrayList<String> mname_List = new ArrayList<String>();
ArrayList<String> mmimage = new ArrayList<String>();
ArrayList<String> mvideo_List = new ArrayList<String>();
ArrayList<schild> model_List =new ArrayList<schild>();
ArrayList<String> mspec_List = new ArrayList<String>();
Spinner spinner_hltag,spinner_sltag, spinner_path;
ArrayAdapter<String> adapter_hltag;
ArrayAdapter<String> adapter_sltag;
ArrayAdapter<String> adapter_path;
int hltagPos=0;
int sltagPos=0;
Object sdcard;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView sdcardImages = (GridView) findViewById(R.id.sdcard);
spinner_hltag= (Spinner) findViewById(R.id.spinner1);
spinner_sltag = (Spinner) findViewById(R.id.spinner2);
sdcardImages.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
Intent intent = new Intent(ParxmlActivity.this, tabview.class);
//intent.putStringArrayListExtra("numbers", mspec_List);
intent.putExtra("name",model_List.get(position).name);
//intent.putExtra("name",model_List.get(position).name);
startActivity(intent);
}
});
sdcardImages.setAdapter(new ImageAdapter(this));
String[] proj = {MediaStore.Images.Thumbnails._ID};
cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
proj, null, null, null);
columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
try {
/* Get a SAXParser from the SAXPArserFactory. */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
/* Get the XMLReader of the SAXParser we created. */
XMLReader xr = sp.getXMLReader();
/* Create a new ContentHandler and apply it to the XML-Reader */
ExampleHandler myExampleHandler = new ExampleHandler();
xr.setContentHandler(myExampleHandler);
/* Parse the xml-data from our file. */
xr.parse(new InputSource(getAssets().open("mafile.xml")));
/* Parsing has finished. */
parsedExampleDataSet =myExampleHandler. myParsedExampleDataSet;
for (int i = 0; i < parsedExampleDataSet.gethltag().size(); i++) {
Log.v("gethltag SIZE ", ""+parsedExampleDataSet.gethltag().size());
hltag_List.add(parsedExampleDataSet.getHLTag().get(i));
}
sltag_List = parsedExampleDataSet.getSLTag(hltag_List.get(hltagPos));
for(int i = 0; i < sltag_List.size(); i++) {
name_List.add(sltag_List.get(i).name);
path_List.add(sltag_List.get(i).path);
}
model_List.clear();
model_List = sltag_List.get(sltagPos).model;
for(int j = 0; j<model_List.size(); j++){
mmimage_List.addAll(model_List.get(j).imageList);
mname_List.add(model_List.get(j).name);
mvideo_List.addAll(model_List.get(j).videoList);
mmimage.add(model_List.get(j).mimage);
mspec_List.add(model_List.get(j).spec);
}
spinner_hltag.setAdapter(new MyAdapter(ParxmlActivity.this, R.layout.row, hltag_List));
spinner_sltag.setAdapter(new MyAdapter1(ParxmlActivity.this, R.layout.row1,name_List));
} catch (Exception e) {
}
}
}
您试图从
捆绑路径列表
而不是阵列列表路径列表
获取字符串值,这就是出现此错误的原因
删除此行捆绑路径\u列表代码>来自公共类ImageAdapter扩展BaseAdapter
参考ArrayList path_List
而不是Bundle path_List
试着再跑一次
更新:我还假设您的ImageAdapter类位于ParxmlActivity中
代码:如果可能,还可以在ImageAdapter类中进行更改。。大概
public class ImageAdapter extends BaseAdapter
{
ArrayList<String> path_List =new ArrayList<String>();
Activity activity;
public ImageAdapter(Activity activity,ArrayList<String> path_List)
{
this.activity = activity;
this.path_List = path_List;
}
....
您试图从捆绑路径列表
而不是阵列列表路径列表
获取字符串值,这就是出现此错误的原因
删除此行捆绑路径\u列表代码>来自公共类ImageAdapter扩展BaseAdapter
参考ArrayList path_List
而不是Bundle path_List
试着再跑一次
更新:我还假设您的ImageAdapter类位于ParxmlActivity中
代码:如果可能,还可以在ImageAdapter类中进行更改。。大概
public class ImageAdapter extends BaseAdapter
{
ArrayList<String> path_List =new ArrayList<String>();
Activity activity;
public ImageAdapter(Activity activity,ArrayList<String> path_List)
{
this.activity = activity;
this.path_List = path_List;
}
....
公共对象get(字符串键)
不会将int作为参数
因此用路径列表.get(String.valueOf(position))
替换路径列表.get(position
)
我想补充的另一件事是bundle在这里为null,所以首先在其中插入路径。
可能是您忘记将其从活动传递到适配器
更新:
位图位图=位图工厂.decodeFile((字符串)路径\列表.getString.valueOf(位置)) 公共对象get(字符串键)
不会将int作为参数
因此用路径列表.get(String.valueOf(position))
替换路径列表.get(position
)
我想补充的另一件事是bundle在这里为null,所以首先在其中插入路径。
可能是您忘记将其从活动传递到适配器
更新:
位图位图=位图工厂.decodeFile((字符串)路径\列表.getString.valueOf(位置)) 首先查看我的parxmlacitive.java类,我已经创建了pah_列表arrylist和存储值。刚才我正在尝试仅在图像适配器中获取我的path_列表值。第一次看到我的parxmlActivity.java类,我已经创建了pah_列表arryList和存储值。刚才我正在尝试仅在图像适配器中获取路径列表值i changed shailendra新错误:类型BitmapFactory中的方法decodeFile(String)不适用于参数(对象)相同的第一个错误:类型束中的方法get(String)不适用于更新的参数(int)。看来你对java很陌生。一些好的教程将有助于您摆脱这些基本内容。更改了shailendra新错误:类型BitmapFactory中的方法decodeFile(String)不适用于参数(对象)相同的第一个错误:类型束中的方法get(String)不适用于更新的参数(int)。看来你对java很陌生。一些好的教程将有助于您摆脱这些基本内容,请删除Bundle path_List行,然后再次运行应用程序,并让我知道发生了什么..我现在删除我得到的path_List无法解决两处错误…行:return path_List.size();另一个是Bitmap Bitmap=BitmapFactory.decodeFile(path_List.get(position));在ParxmlActivity的字段声明中,类似于private final ArrayList path_List=new ArrayList();我已经在我的parxmlActivity.java类中创建了这个arraylist,现在我想在imageadapter.java类中访问该数组列表值,就这样删除Bundle path_list行并再次运行应用程序,让我知道发生了什么..我现在删除我得到的path_list无法解决两个位置的错误..行:返回path_list.size();另一个是Bitmap Bitmap=BitmapFactory.decodeFile(path_List.get(position));在ParxmlActivity的字段声明中,类似于private final ArrayList path_List=new ArrayList();我已经在parxmlActivity.java类中创建了这个arraylist,现在我想在imageadapter.java类中访问该数组列表值,仅此而已
sdcardImages.setAdapter(new ImageAdapter(this,path_List));