첫 번째 적절한 Android 앱을 만들기 위해 파편을 사용하려고합니다. 기본 xml 있습니다. 두 개의 수직 조각으로 구성된 최상위 조각은 단 두 개의 TextView로 구성됩니다. 첫 번째는 정적 텍스트를 포함하고 두 번째는 결국 SQL에서 동적으로 가져 오는 값을 포함합니다.Android : 내 텍스트 뷰를 조각에서 업데이트하려면 어떻게합니까
난이 다음 행복하게 내 첫 번째 조각의 텍스트 뷰의 값을 업데이트 내 MainActivity.java입니다 넣을 경우 각각 그래서 넣을 지원하기 위해 나는 두 조각 XMLS이
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Set the Text to try this out
TextView t = (TextView)findViewById(R.id.viewItem);
t.setText("Text to Display");
}
와 자바 이 필드를 MainActivity에 대한 Java가 아닌 조각을 지원하는 Java로 설정합니다.
public class FragmentMainTop extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState){
// -- inflate the layout for this fragment
return inflater.inflate(R.layout.fragmentmt, container,false);
// Set the Text to try this out
TextView t = (TextView)findViewById(R.id.viewItem);
t.setText("Text to Display");
}
하지만 이렇게하면 나는 텍스트 뷰 라인에 오류가 얻을 :
이"방법 findViewById를 (INT) 인을 - : 나는 조각에 넣을 때
그것은 다음과 같습니다 FragmentMainTop 유형에 대해 정의되지 않음 "
그렇다면이 방법을 모르는 이유는 무엇입니까? 나는 ctl/shift/o를 가지고 있으므로 모든 올바른 수입이 있다는 것을 알고있다. MainActivity에 모든 코드를 넣고 싶지는 않습니다. 왜냐하면 다른 활동에서 Fragment를 사용하고 싶다면 모든 코드를 반복해야하기 때문입니다.
참조가 fragment.getActivity()에 의해 반환 된 Activity에서 findViewByID를 수행하는 경우에도 참조가 성공적으로 반환됩니다. 그러나 뷰를 동적으로 업데이트하는 것은 여전히 작동하지 않습니다. –