-1

그래서 탐색 용 서랍 활동 및 일부 조각을 만들었습니다. 한 조각에 나는 내가 사용하여 다른 응용 프로그램에서이 작업을 수행하기 위해 관리 DD.MM.YYYY 처럼 날짜를 보여줄 필요가있는 텍스트 뷰가 있습니다Android - 텍스트 뷰에 날짜 표시 오류

//show date 
    TextView datumprikaz = (TextView)findViewById(R.id.datumprikaz); 
    Date danas = new Date(); 

    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); 
    String novDatum = sdf.format(danas); 

    datumprikaz.setText(novDatum); 
//End of show date 

을하지만 내 MainActivity에서 지금 사용하는 경우. , MainActivity.java를 에러 로그를 가상 메소드 호출

시도 '무효 android.widget.TextView.setText (java.lang.CharSequence)에'널 객체 참조

이 켜져 : 자바는 에러를 나타낸다 및 내 fragment.xml (큰 코드는 무시하고 날짜 부분은 한 줄임) :

https://gist.github.com/anonymous/f19acb835b43111f576bef2791c4a28e

답변

0
TextView datumprikaz = (TextView)findViewById(R.id.datumprikaz); 

당신의 텍스트 뷰 datumprikaz하지 같은 레이아웃입니다 당신 setContentViewdatumprikaz는 이유는 텍스트 뷰가 제대로 초기화되지 않는 것입니다 null

+0

텍스트 뷰는 조각에 있습니다 이것은 코드입니다. MainActivity.java에 코드를 어디에 두어야합니까? – Ivan

0

하고 그것이 당신 왜 왜 변수

NullPointerException을 얻는다. 코드가 조각 클래스에 있으면 다음과 같이 TextView를 가져와야합니다.

TextView datumprikaz = (TextView)getView().findViewById(R.id.datumprikaz); 

희망 사항.

+0

getView는 빨간색입니다. 그것은 말합니다 'getView()'메서드를 해결할 수 없습니다 도와주세요 – Ivan

+0

getView()를 어디에서 호출하려고합니까? –

0

나는 그것을 알아 냈다! 그 조각 (TvrdjavaFragment 제 경우)에 코드를 추가하기 만하면됩니다.

public class TvrdjavaFragment extends Fragment { 


public TvrdjavaFragment() { 
    // Required empty public constructor 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    View view = inflater.inflate(R.layout.fragment_tvrdjava, container, false); 
    // Inflate the layout for this fragment 
    //show date 
    TextView datumprikaz = (TextView) view.findViewById(R.id.datumprikaz); 
    Date danas = new Date(); 

    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); 
    String novDatum = sdf.format(danas); 

    datumprikaz.setText(novDatum); 
    //End of show date 
    return view; 
} 

나는 쇼 날짜를 추가 (주석 태그를 보면)