- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到一个 arrayindexoutofbounds 异常。我的适配器代码是
import android.app.Activity;
import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class LevelAdapter extends ArrayAdapter<Level> {
static Context context;
static int layoutResourceId;
static Level data[] = null;
public LevelAdapter(Context context, int layoutResourceId, Level[] data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
/* public LevelAdapter(ShowFrag1 showFrag1, int listItem,
Level[] weather_data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
// TODO Auto-generated constructor stub
}*/
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
WeatherHolder holder = null;
if(row == null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new WeatherHolder();
// holder.imgIcon = (ImageView)row.findViewById(R.id.imgIcon);
holder.txtTitle = (TextView)row.findViewById(R.id.txt);
// holder.imgIcon2=(ImageView)row.findViewById(R.id.imgIcon2);
Typeface robotoLight = Typeface.createFromAsset(getContext().getAssets(), "Roboto-Light.ttf");
holder.txtTitle.setTypeface(robotoLight);
row.setTag(holder);
}
else
{
holder = (WeatherHolder)row.getTag();
}
Level weather = data[position];
holder.txtTitle.setText(weather.title);
// holder.imgIcon.setImageResource(weather.icon);
return row;
}
static class WeatherHolder
{
// ImageView imgIcon;
TextView txtTitle;
// ImageView imgIcon2;
}
}
使用 ListView 的 fragment 代码是这样的
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class AboutFrag3 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v=inflater.inflate(R.layout.aboutfrag3, container,false);
ListView lv1=(ListView) v.findViewById(R.id.listView1);
ListView lv2=(ListView)v.findViewById(R.id.listView2);
Level weather_data[] = new Level[]
{
new Level(R.drawable.sac1, "O63", R.drawable.play_button),
new Level(R.drawable.sn2, "O26",R.drawable.play_button),
new Level(R.drawable.sn3, "O",R.drawable.play_button),
new Level(R.drawable.sn4, "O83",R.drawable.play_button),
new Level(R.drawable.sn6, "O.23",R.drawable.play_button),
new Level(R.drawable.sn6, "O9",R.drawable.play_button),
new Level(R.drawable.sn6, "O96",R.drawable.play_button),
new Level(R.drawable.sn6, "T98",R.drawable.play_button),
new Level(R.drawable.sn6, "T37",R.drawable.play_button),
new Level(R.drawable.sn6, "T248",R.drawable.play_button),
new Level(R.drawable.sn6, "T.87",R.drawable.play_button),
new Level(R.drawable.s6, "Tee: 54.06",R.drawable.play_button),
new Level(R.drawable.sn6, "T1",R.drawable.play_button),
new Level(R.drawable.s6, "Te",R.drawable.play_button)
};
Level weather_data2[] = new Level[]
{
new Level(R.drawable.s1,"O3",R.drawable.play_button),
new Level(R.drawable.s1,"O 154",R.drawable.play_button),
new Level(R.drawable.s1,"O2",R.drawable.play_button),
new Level(R.drawable.sh1,"O: 5.11",R.drawable.play_button),
new Level(R.drawable.s1, "Te8",R.drawable.play_button),
new Level(R.drawable.s1, "T5",R.drawable.play_button),
new Level(R.drawable.s1, "T-10",R.drawable.play_button),
new Level(R.drawable.s1, "T52",R.drawable.play_button)
};
LevelAdapter adapter = new LevelAdapter(getActivity(),
R.layout.list_item, weather_data);
LevelAdapter adapter2 = new LevelAdapter(getActivity(), R.layout.list_item, weather_data2);
View header = inflater.inflate(R.layout.header2, null);
//View header2 = inflater.inflate(R.layout.header, null);
View header3 = inflater.inflate(R.layout.header3, null);
lv1.addHeaderView(header);
lv2.addHeaderView(header3);
lv1.setAdapter(adapter);
lv2.setAdapter(adapter2);
Utility.setListViewHeightBasedOnChildren(lv1);
Utility.setListViewHeightBasedOnChildren(lv2);
return v;
}
}
我在这一行中收到 arrayindexoutofbounds 异常
Level weather = data[position];
我哪里错了?谢谢
最佳答案
这是因为你的data[]
是static
。当您将属性设置为 static
时,它会使从该类派生的所有对象的属性都相同。要修复它,只需使数据不是static
。
关于使用listview时出现android arrayindexoutofbounds异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17733609/
实体类是: DeviceWithReading.java package com.fde.entity; import java.util.Set; import javax.persistence.
这个问题在这里已经有了答案: What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? (26 个
我有一个小问题,当我尝试从文件读取时,我会遇到 arrayindexoutofboundsException 。我不知道有更好或更详细的解释方法,所以我将粘贴下面的代码和错误。这一切都在我的程序的 m
我写了这个方法: public static Bitmap matrixToBitmap(int[][] slika) { int w = slika[0].length;
我的代码需要一些帮助,当我尝试运行它时,它给了我 arrayindexoutofbounds 0 异常,它指向“results[counter]=random;”行,以及我在它之前写的 system.
我需要以蛇的形式打印矩阵。因此对于这个矩阵,输出应该是: 我的问题是这段代码抛出 ArrayIndexOutofBounds。我该如何处理才能避免这种情况? int[][] mat= {{1,2,3}
我正在制作阿拉伯数字转换器并收到错误: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at ar
我不明白为什么会发生这种情况。如果没有 print 语句,代码可以正常工作,但是当我尝试打印元素时,我得到 ArrayIndexoutOfBounds。例如,如果我尝试提供 3 个元素,则会抛出异常。
我正在尝试将 Google 任务与我的应用程序同步。为此,我创建了一个类,在其中创建了需要获取任务列表和创建列表等的所有方法。 现在我想测试一下这些方法是否有效。为此,我创建了一个扩展 AsyncTa
这个问题已经有答案了: What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? (25 个回答)
所以我目前正在研究多维数组(2D),并且尝试反转二维数组中每个数组的顺序。 所以我有一个二维数组设置为:int firstArray[][] = {{5,6,7,8,9,10}, {11,12,13,
问题出在int [][]tam = new int [a][b]处。就只有那一条线。我是 Java 新手,有 C++ 背景。 //"Exercitiul" 3 Scanner input = new
这是我遇到索引越界异常的代码,我不明白为什么, int index = array.length - 1; E item = array[index]; while (item == null
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
public class Environment { //variables RoundingStage[][] land; int horizontalStreets;
我正在尝试创建一种使用动态编程计算(N 选择 R)的方法,但出现数组越界异常: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsEx
public Pasient[] finnPasient(String dato) { int j = 0; Pasient[] p = new Pasient[j]; for
所以我有一个数组 Canvas[256][256],它的随机索引 Canvas[r][r] (r 是随机的)设置为 1。然后我想循环遍历该数组以准确查看哪个索引是不是 0,然后随机选择一个点(上、下、
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我写了一个 TokenizableString 类,它对用户输入的字符串进行标记化。这是它应该如何进行的示例 我输入 "My name is methos" 我应该在控制台中看到以下内容 'My' '
我是一名优秀的程序员,十分优秀!