2011-05-10 6 views
0

버튼을 클릭하면 파일에서 일부 정보를 읽고 텍스트 뷰에 표시해야하는데이 코드는 내가 활동중인 동안 작동합니다 레이아웃하지만 다른 화면에있는 경우 동일한 코드가 작동하지 않습니다.다른 활동에서 textview를 업데이트하려고하는데 충돌이 계속 발생합니다.

아무도 볼 수 있습니까? 선을 제거하면 텍스트 뷰의 라인에 코멘트가 충돌하지 않습니다.

감사

MRC

OK

내 솔루션입니다 - 나는 텍스트 뷰를 새로 고치려면이 같은 onResume()를 사용할 수 있도록 내 값은 전역 변수에 저장됩니다.

public void onResume() 
{ 
     super.onResume(); 
     TextView defaultboard = (TextView) findViewById(R.id.currentboard); 
     defaultboard.setText(Global.defaultboard); 
} 

MRC

+0

귀하의 logcat을 게시하고 좀 더 자세한 정보를 제공해주십시오. – JoxTraex

+0

저는 Textiew의 R.id.currentboard에 문제가 있다고 생각합니다. – Sujit

+0

그는 "나는 다른 화면에있다"고 말했기 때문에 findViewById (R.id.currentboard);가 null을 반환한다고 생각합니다. –

답변

0

확인

내 솔루션입니다 -, 나는이 중 일부를 좋아하는 나는 텍스트 뷰를 응답에 대한 모든 사람에게

public void onResume() 
{ 
     super.onResume(); 
     TextView defaultboard = (TextView) findViewById(R.id.currentboard); 
     defaultboard.setText(Global.defaultboard); 
} 

감사를 새로 고치려면이 같은 onresume을 사용할 수 있도록 내 값을 전역 변수에 저장됩니다 아이디어와 그들이 일하는 방법을 찾고 있습니다!

1

메인 스레드에서 실행하는 경우에만 UI 뷰를 업데이트 할 수 있습니다. 다른 스레드에서 작업을 수행하는 경우 실제 작업을 수행하는 작은 Runnable을 전달하는 활동의 runOnUIThread 메소드를 사용하십시오.

1

글쎄, 각 활동마다 다른 활동을 통해 항목을 직접 업데이트 할 수 없도록 자신 만의 레이아웃이 있습니다. 당신이 필요로하는 무엇

당신이 이제까지 된 SharedPreferences를 사용하는 줄 알았는데 "Starting Activities and Getting Results"

1

살펴보고 무엇입니까?

  1. 이 클래스에 표시 할 문자열을 만듭니다.

  2. putString ("key", value)을 사용하여 공유 환경 설정에이 문자열을 씁니다.

  3. 업데이트해야 할 TextView가있는 활동에서 NullPointerException이 발생하지 않는 것으로 초기화하십시오. 그런 다음 SharedPreferences에서 문자열을로드하고 거기에서 텍스트를 설정합니다.

  4. 동적으로 설정할 수 있도록하려는 경우, 활동이 여전히 실행 중이면 onCreate()로 업데이트되지 않으므로 TextView가 해당 활동에서 updateText() 메서드를 사용하여 변경할 수 있습니다.)가 호출되지 않습니다. 해당 상태가 현재 존재하지 않으면 (onDestroy()가 호출되었으므로) 어떤 상태인지 확인하십시오. 다른 예외가 발생합니다.

희망이 있습니다. SharedPreferences가 내 문제에 대한 해답이라는 것을 알게되었습니다. 도움이 필요하면 알려주세요. 나는 당신을 도우려고 노력할 것입니다.

관련 문제