讀我有一個代碼,當我嘗試移動到列表字符串數組的價值,但我有這個錯誤嘗試從空數組
顯示java.lang.NullPointerException:嘗試從空數組
此閱讀是
public class MainActivity extends Activity {
private GridView gridView;
private GridviewAdapter gridAdapter;
ArrayList<Integer> list = new ArrayList<Integer>();
private static List<Integer> randomNumber;
private int endRange;
String[] strarray1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
//Obtenemos la referencia de la vista
gridView = (GridView) findViewById(R.id.gridView);
//**********************************************
// getUrl("http://imgwslili.gtcine.com/index.html", "0");
endRange = getUrl("http://imgwslili.gtcine.com/value.txt");
//********************************************************
randomNumber = new ArrayList<Integer>(endRange);
System.out.println("IMPRIMIR0 " + endRange);
endRange = endRange-100;
int j=100;
for (int i = 0; i <=endRange; i++) {
randomNumber.add(j);
j++;
// System.out.println("IMPRIMIR " + randomNumber.get(i));
}
System.out.println("IMPRIMIR1 " + randomNumber.size());
Collections.shuffle(randomNumber);
// System.out.println("IMPRIMIR2 " + randomNumber.get(5));
strarray1 = getitem();
//Construimos el adaptador pasando como
//segundo parametro el array de imagenes
gridAdapter = new GridviewAdapter(MainActivity.this, getitem());
//Especificamos el adaptador
gridView.setAdapter(gridAdapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
System.out.println("ENVIAR " + position);
Toast.makeText(getBaseContext(), "Salida pos: "+position,Toast.LENGTH_LONG).show();
Intent intent = new Intent(MainActivity.this, ActivityTwo.class);
intent.putExtra("position", position);
startActivity(intent);
}
});
}
public String[] getitem(){
List<String> strlist = new ArrayList<String>();
// endRange= endRange-100;
int j = 100;
for(int i= 0; i<endRange; i++){
strlist.add("http://imgwslili.gtcine.com/img" + randomNumber.get(i) + ".jpg");
System.out.println("URL " + "http://imgwslili.gtcine.com/img" + randomNumber.get(i) + ".jpg");
}
// System.out.println("URL " + "http://img.gtcine.com/img" + randomNumber.get(j) + ".jpg");
String[] strarray = new String[strlist.size()+1];
strlist.toArray(strarray);
System.out.println("IMPRIME " + strarray.toString());
return strarray; //
}
public String getpost(int post){
String hola[] = strarray1;
System.out.print(hola);
System.out.println("GetPost " + post);
return strarray1[post];
}
我失去了我的新手在android系統我想告訴從互聯網上的imagen畫質,做工精細,但代碼時,我選擇出此錯誤畫廊imagen畫質:顯示java.lang.NullPointerException:嘗試從零陣列讀取
它看起來像hola []爲空。你在哪裏初始化strarray1?你不是故意做String hola [] = getItem(); ? – denker
@ Heisenberg06我看不到strarray1被填充到getPost()方法中......你能解釋一下嗎? – vijay
我將添加更多代碼全班 – Heisenberg06