【发布时间】:2019-07-22 14:12:23
【问题描述】:
我正在为 RecyclerView 中的 OnClickListener 编写代码,我想从 json 中放入数据。来自 json 的数据它的工作,但我不能将数据带到其他活动。
这是一个新的android studio版本是3.4.1。
此代码在 caritenda 中。
public void onClick(View view, int position) {
Tenda ambil = tendaList.get(position);
String alamat = ambil.getAlamat();
String telepon = ambil.getPhone();
String img = ambil.getImageUrl();
String lokasi = ambil.getLokasi();
Intent i = new Intent(this, PilihTenda.class);
i.putExtra(Key_RegisterActivity,new String[]{alamat,telepon, img, lokasi});
startActivity(i);
}
这是我的适配器
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
listener.onClick(view, getAdapterPosition());
}
});
}
}
这是一个错误。
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mydome, PID: 8658
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at com.example.mydome.ui.Caritenda.onClick(Caritenda.java:95)
at com.example.mydome.adapters.TendaAdapter$MyViewHolder$1.onClick(TendaAdapter.java:78)
at android.view.View.performClick(View.java:5212)
at android.view.View$PerformClick.run(View.java:21214)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5619)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:737)
【问题讨论】:
-
它说tendaList是空的
-
你得到这个是因为你的列表是空的……至少tendaList是空的。你不能在一个空列表的位置得到东西......你会得到一个例外。
标签: android android-json