2014-01-19 5 views
-1

helperClass (Activity에서 확장 된) 메서드에서 textView 구성 요소로 일부 정보를 설정하고 싶습니다만, textView로 작업하려고하면 항상 null 포인터 예외가 발생합니다.Android : Helper 클래스의 널 포인터 예외를 방지하는 방법?

TextView stateTv = (TextView) findViewById(R.id.state); 

어떻게 간단한 도우미 클래스에서 올바르게 할 수 있습니까?

주 활동 및 기타 활동에서 작동합니다.

어떤 조언을 주셔서 감사합니다.

예 포함 :

/** 
    * Set actual position to textview 
    * 
    * @return void 
    * @throws Exception 
    */ 
    public void setPositionToView (Context ctx) { 
     try { 

      // HERE I GET NULL POINTER EXCEPTION 
      TextView stateTv = (TextView) findViewById(R.id.state); 
      stateTv.setText(R.string.position_is_set); 
      stateTv.setTextColor(getResources().getColor(R.color.green)); 

     } catch (Exception e){ 
      Log.e(AppHelper.APP_LOG_NAMESPACE, "setPositionToView method cannot be processed", e); 
      e.printStackTrace(); 
     } 
    } 
+1

전체 클래스 코드 및 오류 로그를 표시 하시겠습니까? –

+0

'Helper class'는 일반적인 자바 클래스인가 아니면 Activity를 확장합니까? 일반 클래스 인 경우에는'setPositionToView'에 Activity Context 매개 변수를 하나 더 추가해야합니다. 액티비티 컨텍스트를 사용하여 stateTv TextView 인스턴스를 초기화하십시오. –

+1

'state'로 'Textview'를 정의한 xml을 보여줍니다. – csmckelvey

답변

1

다만, 앱이 충돌하는 경우는이 레이아웃이 위젯을 가져야한다고 본다, 그래서

if(stateTv != null) { 
    ... 

비트를 추가하는 것이 적절한을 것 같은 레이아웃을 수정 접근. 또한 어떤 컨텍스트에서 위젯을 찾으려고하는지에 대한 정보가 없습니다 (잘못된보기 일 수 있습니다).

관련 문제