2014-01-20 3 views
-1

다른 클래스의 배열을 참조하고 많은 재미를 얻으려고합니다. 아무도 도울 수 .. ..? 이것은 코드입니다. 나는 그것을 getName이 문자열을 작동하고 게터을 이해하지만, 나는 게터 aff_array[] get afz()다른 클래스의 배열

public class aff_array { String name; aff_array[] afz; 

public aff_array[] getAfz() { 
return afz; 
} 

public String getName() { 
return name; 
} 

public static void main (String[] args) { 

    int z = 3; //total no of affirmations 
    int x = 1; 
    aff_array[] afz = new aff_array[z]; //dim 

    while (x < z) { 
     afz[x] = new aff_array(); // create objects for array 
     x = x + 1; 
    } 

    afz[1].name = "i am the best"; 
    afz[2].name = "you are the rest"; 

} 

이 다른 클래스와 함께 배열을 참조하는 방법을 알고하지 않기 때문에

나는 배열 값을 원하는 위치 (getName이 작동)

public void onReceive(Context context, Intent intent) 
{ 

    setNotification(context, aff_array.class.getName()); 
    WakeLocker.acquire(context); 
    Toast.makeText(context,"One shot alarm received. No more toasts will be shown.", Toast.LENGTH_SHORT).show(); 
    WakeLocker.release(); 
} 

답변

1

aff_array[] getAfz()aff_array.class.getName()을 대체하지만 난 그것을 할 또는 예를 들어 afz(1)을 참조하는 방법을 잘 모릅니다 무엇 이것에 대해 :

public String getAfz(int i) { 
    return aff_array[i]; 
} 
0

당신은 단순히 수행해야합니다 같은 인스턴스 instance에 액세스하기 전에 배열을 채울 필요

aff_array instance = new aff_array(); 
// set the array inside it 
setNotification(context, instance.getAfz()[0].getName()); 

.

+0

감사합니다. 컴파일하지만 충돌이 발생합니다. – sunirmalya

+0

충돌이 발생합니다. ?? 런타임 에러? 그 ArrayIndexOutOfBounds 그때 너 자신을 이해하거나 오류 정보를 말해야 할 때 –

+0

그것은 null 인 것 같다 - 미안하다 - 나는 너를 계속 보게 될 것이다 – sunirmalya

0

static으로 지정하는 것으로 보입니다.

setNotification(context, aff_array.getAfz()[1].getName()); 

를 적어 둡니다 : 다음과 같이

private static aff_array[] afz; 

public static aff_array[] getAfz() { 
    return afz; 
} 

는 그런 다음 배열에 액세스 할 수 있습니다 :이 경우, 당신은 배열을 선언해야

aff_array.class.getName()하지 호출하는 당신의 맞춤형 getName() 방법. 그것은 java.lang.Class.getName()입니다.

myArrayaff_array의 인스턴스 인 위치를 aff_array.getName() (정적 경우) 또는 myArray.getName()를 호출해야합니다) (사용자 정의 대한 getName 호출합니다.

+0

그것이 컴파일되지만 충돌한다 – sunirmalya

+0

좀 더 구체적으로 ... 그것은 분명하지 않다. 우리가 최선을 다해 당신을 도우려고 노력하고 있습니다. 그러나 귀하의 질문과 의견은 너무 모호합니다 ... – ADTC

0

aff_array mainArray = new aff_array(); mainArray. afz (0) .getName(); 당신은이 방법으로 얻을 수

0

getAfz() 메서드는 전체 배열을 반환하지만 배열에서 특정 항목을 필요로하기 때문에, 당신은 배열을 초기화 할 수 중 다음을 참조 :

aff_array aa = new aff_array(); 
    String name = aa.afz[1].getName(); // reference this in your setNotification 

또는 배열 내에서 특정 객체를 반환하는 메서드를 만들 수 있습니다.

public aff_array[] getAfz(int i) { 
     return add_array[1]; 
    } 
관련 문제