2013-05-08 1 views
0

button1을 클릭하면 다른 레이아웃과 다른 클래스가 호출됩니다. 지금은 java.lang.NullPointerException이 함께 앱 충돌 결과 클래스 2에서 텍스트 뷰의 텍스트를 변경하려면안드로이드 변경 text 다른 메소드/클래스의 텍스트보기

클래스 1 1 급

public static TextView A; 
protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

[버튼 물건의

중요한 부분 상기 텍스트를 변경한다 클래스 1

setContentView(R.layout.raten); 
         final TextView A = (TextView) findViewById(R.id.A); //the textview I wanna chage 
       max = 10; 
         Easy easy = new Easy(); // the other class 
         easy.e(); 

[지금 방법]

public static void Tx(int i) 
    { 
A.setText("adsfasdf"); 
    } 

[클래스 2 ("쉬운")의 중요한 부분]

내가 아는
public void e(){ 
     System.out.println("called class easy"); 

    int max = MainActivity.max; 
    System.out.println(max); 
    for (int i= 0; i<max; i++){ 
     System.out.println("runde"+i); 
MainActivity.Tx(i); 

    } 

, 어떤 사람들은 이미 질문을하지만 작업 솔루션을 찾을 수 없습니다. UI 스레드 외부의 UI에 액세스 할 수 없다는 점과 null 012erenception이 나타나는 이유는 그가 "빈"public static TextView A;을 사용하고 final TextView A = (TextView) findViewById(R.id.A)을 사용하지 않기 때문입니다.

하지만 어떻게 다른 방법으로 볼 수 있습니까?

죄송 포스트가 엉망 보이지만 난 그냥 정적 할당, 더 좋은 방법

답변

1

보다는 새로운 지역 변수 A를 정의하는 내 상황을 설명하는 방법을 konw하지 않은 경우.

변화

final TextView A = (TextView) findViewById(R.id.A); //the textview I wanna chage 

모두 ATx 에서

A = (TextView) findViewById(R.id.A); //the textview I wanna chage 
+0

고마워를 들어 당신의 대답,하지만 불행히도 그게 아무것도 해결하지 못했습니다, 나는 정확히 같은 오류가 발생 fore :/ – user2330482

+0

findViewById에 대한 호출이 null을 반환하지 않는 것을 확인 했습니까? – user1902135

+0

나는 findviewbyid가 Tx()에 의해 읽혀지지 않는다는 것을 이미 언급했다. Tx()는'public TextView A;'를 사용합니다. 문제는 – user2330482

0

제거 static에 (물론 당신의 MainActivity 당신이 easy.e()를 부르는 시간을 작성해야합니다)

+0

그래서 "비 정적 메소드 Tx (int)를 유형 MainActivity에서 정적 참조로 만들 수 없습니다." MainActivity가 내가 easy.e()라고 부르는 시간에 만들어 져야한다는 것은 무엇을 의미합니까? – user2330482

+0

이 방법은'MainActivity.this.Tx (i);' – Dimanoid

+0

입니다. 시간을 낭비하게되어 죄송하지만, 이제는 그 방법에 대해 "범위 내에서 MainActivity를 액세스 할 수 없습니다"라는 인스턴스를 얻었습니다. MainActivity의 객체를 만들려고 시도했지만 그 결과는 동일합니다. – user2330482

관련 문제