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)
을 사용하지 않기 때문입니다.
하지만 어떻게 다른 방법으로 볼 수 있습니까?
죄송 포스트가 엉망 보이지만 난 그냥 정적 할당, 더 좋은 방법
고마워를 들어 당신의 대답,하지만 불행히도 그게 아무것도 해결하지 못했습니다, 나는 정확히 같은 오류가 발생 fore :/ – user2330482
findViewById에 대한 호출이 null을 반환하지 않는 것을 확인 했습니까? – user1902135
나는 findviewbyid가 Tx()에 의해 읽혀지지 않는다는 것을 이미 언급했다. Tx()는'public TextView A;'를 사용합니다. 문제는 – user2330482