2016-06-17 2 views
-1

안드로이드가 정수로 감지했기 때문에 ArrayList에서 항목을 할당 할 수없는 이상한 오류가 발생했습니다 위치는 같은 정수 12 대신 내 코드java.lang.Integer는 java.lang.Double에 캐스팅 될 수 없습니다

12.0

public class CategoryAdapter extends BaseAdapter { 
private final Context context; 
private ArrayList<Category> categories ; 
private final ArrayList<Double> items; 

public CategoryAdapter(Context context, ArrayList<Double> i) { 
    this.context = context; 
    categories = Category.getActiveCategories(); 
    if(i.size()==0) 
    { 
     Double [] ar = new Double[]{0.0,0.0,0.0,0.0}; 
     items = new ArrayList<Double>(Arrays.asList(ar)); 
    } 
    else 
    { 
     items = i; 
    } 
} 

@Override 
public int getCount() { 
    return items.size(); 
} 

@Override 
public Double getItem(int position) { 
    return items.get(position); 
} 

@Override 
public long getItemId(int position) { 
    // TODO implement own logic with ID 
    return 0; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View rowView; 
    if (convertView == null) { 
     rowView = inflater.inflate(R.layout.item_ais_category_list, parent, false); 
    } 
    else { 
     rowView = convertView; 
    } 

    TextView category = (TextView) rowView.findViewById(R.id.tv_ais_category_item); 
    TextView tvThreatLevel = (TextView) rowView.findViewById(R.id.tv_ais_threat_level_item); 
    View circle = rowView.findViewById(R.id.v_ais_circle); 

    category.setText(categories.get(position).name); 
    double threatlevel = 0; 
    try { 
     threatlevel = (double) items.get(position); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
     Log.d("array",items.toString()); 
     Log.d("count",Integer.toString(position)); 
    } 
    if(threatlevel<=10d) { 
     tvThreatLevel.setText("Safe"); 
     tvThreatLevel.setTextColor(context.getResources().getColor(R.color.alert_low)); 
    } 
    else if(threatlevel>10d&&threatlevel<=20d) { 
     tvThreatLevel.setText("Low"); 
     tvThreatLevel.setTextColor(context.getResources().getColor(R.color.alert_low)); 
    } 
    else if(threatlevel >20d &&threatlevel<=40d) 
    { 
     tvThreatLevel.setText("Medium"); 
     tvThreatLevel.setTextColor(context.getResources().getColor(R.color.alert_med)); 
    } 
    else 
    { 
     tvThreatLevel.setText("High"); 
     tvThreatLevel.setTextColor(context.getResources().getColor(R.color.alert_high)); 
    } 
    GradientDrawable bg = (GradientDrawable)circle.getBackground(); 
    int color = Color.parseColor(categories.get(position).color); 
    bg.setColor(color); 
    return rowView; 
} 
} 

이 오류 예컨대

   06-18 00:52:24.324 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double 
      06-18 00:52:24.325 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at com.flagaspot.flagger.Utilities.CategoryAdapter$override.getView(CategoryAdapter.java:76) 
      06-18 00:52:24.325 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at com.flagaspot.flagger.Utilities.CategoryAdapter$override.access$dispatch(CategoryAdapter.java) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at com.flagaspot.flagger.Utilities.CategoryAdapter.getView(CategoryAdapter.java:0) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.AbsListView.obtainView(AbsListView.java:2346) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.ListView.makeAndAddView(ListView.java:1876) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.ListView.fillDown(ListView.java:702) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.ListView.fillFromTop(ListView.java:763) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.ListView.layoutChildren(ListView.java:1685) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.AbsListView.onLayout(AbsListView.java:2148) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.326 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.327 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1187) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.328 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2934) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.View.layout(View.java:16639) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewGroup.layout(ViewGroup.java:5437) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) 
      06-18 00:52:24.329 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.Choreographer.doCallbacks(Choreographer.java:670) 
      06-18 00:52:24.330 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.Choreographer.doFrame(Choreographer.java:606) 
      06-18 00:52:24.330 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) 
      06-18 00:52:24.330 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.os.Handler.handleCallback(Handler.java:739) 
      06-18 00:52:24.330 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.os.Handler.dispatchMessage(Handler.java:95) 
      06-18 00:52:24.331 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.os.Looper.loop(Looper.java:148) 
      06-18 00:52:24.331 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at android.app.ActivityThread.main(ActivityThread.java:5456) 
      06-18 00:52:24.331 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at java.lang.reflect.Method.invoke(Native Method) 
      06-18 00:52:24.331 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
      06-18 00:52:24.331 14845-14845/com.example.pulkitjuneja.flag_a_spot W/System.err:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616 

스택 트레이스이다 I 배열이

[251.03, 1086.97, 891.53, 615] 

입니다 f를 오류가

3 내가 뭔가 잘못하고있는 중이 야 위치에서 발생하거나 모든 작업은 사전에 오류가 라인에

+0

잘한다면? Java는 이와 같은 혼합 유형의 목록을 허용하지 않습니다. 내가 생각할 수있는 유일한 방법은 항목을'Object'로 추가 한 다음 목록에서 항목을 액세스 할 때'instanceof'를 사용하여 캐스트하는 것입니다. 또 다른 옵션은 정수를 두 배로 변환하는 것입니다. 네가 묻고있는거야? – NoChinDeluxe

+0

'ArrayList '이 효과가 있습니까? 또한, 어느 선이 오는 오류입니까? – 4castle

+0

구문 분석에서 해당 데이터를 가져오고 작업하는 사람들은 그와 같은 데이터를 가지며 파싱 dosent는 소수점 이하의 추가 0을 허용합니다. 가져온 데이터가 arraylist 형식 인 B0rn2C0de

답변

4

이 감사를 통해 주변에있다. threatlevel = (double) items.get(position);

동시에 문제는 캐스팅과 오토 복을 원하지 않는 것으로 보입니다. 모두 DoubleIntegerNumber을 확장 때문에, 당신은 사용할 수 있습니다 : 목록이` ArrayList에`왜 당신이 그것으로 정수를 넣어 시도로 선언

threatlevel = items.get(position).doubleValue(); 
+0

이것은 매력처럼 작동합니다, 감사합니다 :) – B0rn2C0de

관련 문제