2014-05-19 3 views
-4

나는 인도에서 무료 수신자 부담 전화를하고 있습니다. 하지만이 프로젝트에는 listview를위한 배열이 너무 많아서 java 파일에 배열 하나를 가져갈 때이 코드가 작동합니다. 하지만 customAdapter 클래스에서 두 개의 배열을 가져 가면.android의 listview에서 customAdapter 클래스의 두 배열을 가져 오는 방법은 무엇입니까?

이 코드는 작동하지 않습니다.

public class CustomAdapter extends BaseAdapter { 

    private static final String TAG = CustomAdapter.class.getSimpleName(); 
    ArrayList<DataModel> listArray; 
    ArrayList2<DataModel> listArray2; 
    Intent intent; 
    int x; 
    DataModel dataModel; 

    public CustomAdapter() { 

     if(x==0) 
     { 
      listArray = new ArrayList<DataModel>(5); 
      listArray.add(new DataModel("Air France", "", "1800-180-0033", "")); 
      listArray.add(new DataModel("Air India","", "1800-180-1407", "")); 
      listArray.add(new DataModel("American Airlines","", "1800-180-7300", "")); 
      listArray.add(new DataModel("Austrian Airlines","", "1800-102-5838", "")); 
      listArray.add(new DataModel("Aviations India","","1800-425-9898", "")); 
      listArray.add(new DataModel("British Airways","", "1860-180-3592", "")); 
     } 

     if(x==1) 
     { 
      listArray2 = new ArrayList<DataModel>(6); 
      listArray2.add(new DataModel("Ald Automotive", "", "1800-209-5253", "")); 
      listArray2.add(new DataModel("Ashok Leyland","", "1800-266-3340", "")); 
      listArray2.add(new DataModel("Audi","", "1800-103-6700", "")); 
      listArray2.add(new DataModel("Autobahn Enterprises Pvt Ltd","", "1800-123-9009", "")); 
      listArray2.add(new DataModel("Aviators India","", "1800-4257-7777", "")); 
     } 
    } 

    @Override 
    public int getCount() { 
     return listArray.size(); // total number of elements in the list 
    } 

    @Override 
    public Object getItem(int i) { 
     return listArray.get(i); // single item in the list 
    } 

    @Override 
    public long getItemId(int i) { 
     return i;     // index number 
    } 


    @Override 
    public View getView(int index, View view, final ViewGroup parent) { 

     if (view == null) 
     { 
      LayoutInflater inflater = LayoutInflater.from(parent.getContext()); 
      view = inflater.inflate(R.layout.single_list_item, parent, false); 
     } 

     // if(x==0) 
     // { 
      dataModel = listArray.get(index); 
     /* }else 
     { 
      dataModel = listArray2.get(index); 
     }*/ 
     TextView textView = (TextView) view.findViewById(R.id.textView1); 
     textView.setText(dataModel.getName()); 

     Button button = (Button) view.findViewById(R.id.button1); 
     button.setText("" + dataModel.getBlank()); 

     Button button1 = (Button) view.findViewById(R.id.button2); 
     button1.setText("" + dataModel.getOtherData()); 

     textView = (TextView) view.findViewById(R.id.textView2); 
     textView.setText("" + dataModel.getaDouble()); 
    } 
} 
+0

왜 작동하지 않습니까? – rpax

+0

Arraylist2에 대한 또 다른 클래스 파일을 생성하는 것을 보여줍니다 ... – user3432085

+1

발견 한 모든 것을 붙여 넣기하지 마십시오. 배우려고 노력하고 노력하십시오. ** Justin Jasmann **의 답변을 보신 후에도 여전히 이해가되지 않습니다. – OnePunchMan

답변

1

ArrayList은 Java 유형입니다. ArrayList2은 아닙니다.

ArrayList<DataModel> listArray; 
ArrayList2<DataModel> listArray2; 

당신은 아마 당신이 ArrayList2라는 클래스와 List<E> 인터페이스를 오버라이드 (override)에 의도하지 않는 한, ArrayList로 떠나 의미했다.

+0

나는 무엇을 해야할지 이해할 수 없다. 나를 전체 소스 코드를 제공합니까 ?? – user3432085

관련 문제