gpt4 book ai didi

android - 错误 java.lang.IndexOutOfBoundsException : Invalid index 1, 大小为 0

转载 作者:行者123 更新时间:2023-11-30 03:56:34 24 4
gpt4 key购买 nike

我有这样的代码来制作 ListView

 class LoadAllProduct extends AsyncTask<String, String, String> {

/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(allproduct.this);
pDialog.setMessage("Loading product. Please wait...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}

/**
* getting All products from url
* */
protected String doInBackground(String... args) {
Cursor cursor;

int i=0;
while(cursor.moveToNext()){
id_produk[i] = cursor.getInt(0);
String title = cursor.getString(1);
//String price = cursor.getString(2);
//String desc = cursor.getString(3);
//String how_to = cursor.getString(4);
String time = cursor.getString(5);
path_image[i] = cursor.getString(7);

Cursor cur = db.getProductLink(id_produk[i]);
int y = 0;
String link = "";
while(cur.moveToNext()){
if(y == 0) link = cur.getString(0);
else link = link + "\n" + cur.getString(0);
y++;
}
product_item[i] = new MenuItem(title, link, time, path_image[i]);
i++;
cur.close();
}

cursor.close();
db.close();

return null;

}

/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// updating UI from Background Thread
runOnUiThread(new Runnable() {
public void run() {
mainlist.setAdapter(new ListMenuAdapter(product_item));
}
});
pDialog.dismiss();
}
}

现在,我想通过使用此代码单击 ListView 的选择项来显示我的产品的详细信息

 mainlist.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// getting values from selected ListItem


String pid = productList.get(position).get(TAG_PID);

// Starting new intent
Intent in = new Intent(getApplicationContext(),editproductActivity.class);

// sending pid to next activity
in.putExtra(TAG_PID, pid);
in.putExtra("phone", mPhoneNumber);
in.putExtra("daftar", daftar);
startActivityForResult(in, 100);
}
});
}

这个日志猫显示了这个,我认为错误原因是 String pid = productList.get(position).get(TAG_PID);

11-06 12:46:25.305: ERROR/AndroidRuntime(1616): FATAL EXCEPTION: main
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at java.util.ArrayList.get(ArrayList.java:311)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at shoop3.android.edu.allproduct$4.onItemClick(allproduct.java:175)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at android.widget.ListView.performItemClick(ListView.java:3382)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at android.os.Handler.handleCallback(Handler.java:587)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at android.os.Handler.dispatchMessage(Handler.java:92)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at android.os.Looper.loop(Looper.java:123)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at android.app.ActivityThread.main(ActivityThread.java:4627)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at java.lang.reflect.Method.invokeNative(Native Method)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at java.lang.reflect.Method.invoke(Method.java:521)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-06 12:46:25.305: ERROR/AndroidRuntime(1616): at dalvik.system.NativeStart.main(Native Method)

你能帮帮我吗??谢谢

最佳答案

我认为productList是空的,在里面添加数据,然后检查。

if(productList.size==0){

System.out.println("list size is zero...");
return;

}
String pid = productList.get(position).get(TAG_PID);

关于android - 错误 java.lang.IndexOutOfBoundsException : Invalid index 1, 大小为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13245142/

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