2014-12-12 6 views
0

우선 여기에 첫 번째로 글을 적어 둡니다.다른 클래스의 배열에 객체 추가

다른 클래스에있는 배열에 문자열을 입력하는 데 필요한 4 개의 클래스가 있습니다.

사용자가 switch 문에서 옵션을 선택하면 정보를 Array 클래스의 배열로 보내고 싶습니다. 그런 다음 사용자가 다른 페이지로 이동하고 코드가이 코드입니다 배열

public UserSelectionArray userArrayClass = new UserSelectionArray(); 

을 닦아되어 실행되면이 잘 난 데 문제를 작동합니다. 그리고이 코드가 실행될 때마다 새로운 Array를 인스턴스화 할 때 이것이 문제라는 것도 알고 있습니다.

새 UserArrayClass를 인스턴스화 할 필요없이 개별 클래스에서 배열로 문자열을 보내려면 어떻게해야합니까?

나는 이것을 올바르게 설명했으면 좋겠다.

감사

public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

      switch (position) { 

       case 0: 
        if (UserSelectionArray.getInstance().myArray.size() < 4) { 
         UserSelectionArray.getInstance().myArray.add("Guiness"); 
         Log.d("Array contains", "" + UserSelectionArray.getInstance().myArray); 

        } else { 

         Toast.makeText(BeerChoice.this, "Maximum of 4 Drinks Reached", Toast.LENGTH_LONG).show(); 
         // goto confirm page 


        } 


        break; 

///// 사용자 선택 클래스

public class UserSelectionArray { 

ArrayList<String> myArray = new ArrayList<String>(); 


private static UserSelectionArray instance; 

public static UserSelectionArray getInstance() { 
    if (instance == null) { 
     instance = new UserSelectionArray(); 

    } 

    return new UserSelectionArray(); 
} 

public UserSelectionArray() { 


} 

}

+0

코드 조각을 보여주세요. 다른 활동에서 데이터를 보내고 가져 오는 많은 방법이 있습니다. – Opiatefuchs

+0

전적으로 이해하지는 못하지만 Object 배열을 사용할 수 있습니다. 그래서 당신은이 배열에있는 모든 유형의 객체를 유지할 수 있습니다. – Adem

+0

은 정확히 무엇을 원하는지 명확하지 않습니다. –

답변

0

은 UserArrayClass에 공개 방법을 만들기

setArray(String[] newArray) { 
this.array = newArray; 
} 
0

싱글 톤을 사용하십시오 너를위한 패턴 serArrayClass.

public class userArrayClass { 

    private static userArrayClass instance; 

    public static userArrayClass getInstance(){ 
     if(instance == null){ 
      instance = new userArrayClass(); 
     }  
    } 

    private userArrayClass(){ 
     //Constructor 
    } 


    .... /*Rest of the code */ 

} 

을 그리고 나중에 userArrayClass이 방법을 객체에 액세스 : 같은 것을 할 당신이 프로그램의 아무 곳에서 같은 userArrayClass 개체에 액세스 할 수

userArrayClass.getInstance().doSomething(); 

이 방법을.

+0

Ive가이 작업을 시도하고 코드가 오류가 발생하지만 null 포인터 예외가 발생합니다. –

+0

무엇을하고 있습니까? 생성자의 모든 필드 (배열, 목록 또는 기타)를 초기화 했습니까? – Kelevandos

+0

업데이트 된 주요 질문 –