2012-11-21 4 views
0

afreechart 라이브러리를 사용하여 내 앱에 차트를 표시하고 있습니다. 문제는 클래스가 DemoView 클래스를 확장하고 getIntent()가 Activity 클래스에서 발생한다는 것입니다. 차트 처리를 위해 차트 앱에서 일부 엑스트라를 전달해야합니다. 내가 무엇을 할 수 있을지? 어떤 제안을 해주시겠습니까? 대단히 감사합니다. 그 Activity에서 View 당신이 당신의 View 들어있는 ActivitygetContext()을 시전 할 수 있으며, 따라서 당신이 액세스 할 수있는 모든 내부getIntent()가 PieChartView 유형에 대해 정의되지 않았습니다.

+0

DemoView 클래스는 무엇을 확장합니까? – Ahmad

+0

@Ahmad :보기를 확장합니다. – androniennn

답변

2

.

class MyActivity { 
... 

private MyView mMyView; 

public void onCreate(Bundle savedState) { 
    mMyView = (MyView)findViewById(R.id.myid); 
} 

public int getImportantInt() { return 0; } 

} 

class MyView extends View { 

.... 

private doSomethingWithImportantInt() { 

    MyActivity parent = (MyActivity)getContext(); // I meant this line 

    int myImportantInt = parent.getImportantInt(); 

.... 

} 
} 
+0

라인 코드를 넣을 수 있습니까? – androniennn

+0

@androniennn 제발, 내 편집 답변을 참조하십시오 –

+0

내 늦은 답장 죄송합니다, 그 경우에는 캐스팅이 불가능하다고 생각, 나는 가지고 있습니다 : 컨텍스트에서 DemoView로 캐스팅 할 수 없습니다. DemoView는 View를 확장하는 클래스입니다. – androniennn

관련 문제