2013-08-23 4 views
1

저는 자바와 안드로이드 개발을 처음 접했습니다. 전체 애플 리케이션을 웹 기반으로하고 싶지 않기 때문에 조각을 사용하여 내 애플 리케이션 내에 로컬 페이지 페이지를 표시 할 수 있기를 원합니다.안드로이드 - 조각 사용

그래서, 내 arview.xml에 갔어요 및 조각 추가 : 내가 지금, 난 그냥 영국 BBC 웹 사이트를 사용합니다 (거기에 웹 페이지를 배치 할 지금

<fragment 
     android:id="@+id/fragment_bbc" 
     android:name="android.webkit.WebViewFragment" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" /> 

을). 내 내

'에서 onCreate (번들 savedInstanceState)'나는이 있습니다

webFrag = (WebViewFragment) mGUIView.findViewById(R.id.fragment_bbc); 
mWebView = (WebView) mGUIView.findViewById(R.id.fragment_bbc); 
myWebView.loadUrl("http://www.bbc.co.uk"); 

나는 모든 그들이 해결 될 수 없다는, 그 라인의 3의 오류가 있습니다.

어디로 잘못 가고 있습니까? 감사합니다

+0

일반적으로 조각에서는 onCreateView 메서드에서 findviewbyid()를 사용하고 onviewCreated()에서 일부 처리를 수행합니다. –

+0

이 MGUIView는 무엇입니까? mainActivity 인 경우 현재보기에 대한 참조가 필요하지 않습니다. – bofredo

+0

MGUIView = (RelativeLayout) getLayoutInflater(). inflate (R.layout.arview, null); 나는이 작업을 수행 할 때 –

답변

0

당신은 XML에서 "태그"조각을 사용하지 않아야합니다, 단지 고전적인 레이아웃을하고

예 조각을 확장 클래스에서 사용 :

자바에서
@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved) { 
     _view = inflater.inflate(R.layout.fragment_accueil, group, false); 
     // get views 
     _textViewTitle = (TextView) _view.findViewById(R.id.title_home); 
     _buttonLocalSearch = (Button) _view.findViewById(R.id.btn_local_search); 
     return _view; 
    } 


    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
    { 
      _textViewTitle.setText(getActivity().getString(R.string.tle_home)); 
      _buttonLocalSearch.setOnClickListener(this); 
    } 
0

당신이 필요 사용할 구성 요소를 초기화하고 직접 변수 유형을 선택하십시오. 귀하의 경우에는

WebViewFragment webFrag = (WebViewFragment) mGUIView.findViewById(R.id.fragment_bbc); 
WebView mWebView = (WebView) mGUIView.findViewById(R.id.fragment_bbc); 

webFrag = (WebViewFragment) mGUIView.findViewById(R.id.fragment_bbc); 
mWebView = (WebView) mGUIView.findViewById(R.id.fragment_bbc); 

을 변경 시도하거나 당신은 완전히 다른 할이 같은 시도 :

WebView wv = new WebView(); 
wv.findViewById(); 
+0

덕분에, 나는 이러한 오류를 얻을 : - 해결할 수없는 fragment_bbc 또는 –

+0

내가 새로운 자바 클래스를 만들 필요가 수행합니다 \t 필드는 아니다 - WebViewFragment는 \t 유형 \t으로 해결 될 수없는 이유는 무엇입니까? 감사합니다 –

0

이전에 그 변수를 초기화 했을?

봅니다 :

WebViewFragment webFrag = (WebViewFragment) findViewById(R.id.fragment_bbc); 
WebView mWebView = (WebView) findViewById(R.id.fragment_bbc); 
mWebView.loadUrl("http://www.bbc.co.uk"); 
+0

나는 이러한 오류를 얻을 : - fragment_bbc가 해결되지인지 아닌지 할 수있는 \t 필드 \t - WebViewFragment가 \t 유형 –

0

나는 구현의 당신의 방법이 잘못 thik. 모든

먼저 간단하게 당신은이 그런 다음 WebViewFragment 전화의 메소드 loadUrl() 여기

및 인스턴스를 사용

  • 가있다 부모 활동에 조각 추가하기이

    1. 을 할 필요가 code for WebViewFragment 그냥 loadUrl() 방법에 그 URL을 제공합니다.

      잘 안내 할 링크를 확인하십시오.

  • +0

    감사를 해결할 수없는,하지만 난 자바에 새로운 해요, 난 당신이 때 무슨 뜻인지 몰라 당신은 '당신의 부모 활동에 단편을 추가하라'고 말합니까? –

    +0

    잠깐, 새 Java 클래스를 만들어야합니까? –

    +0

    (Fragment basic) [http://developer.android.com/guide/components/fragments.html]이 링크 가이드는 조각이 무엇인지에 대한 것입니다. (이 예제는 내 첫 번째 포인트에 대한 답을 제공합니다) [http://www.vogella.com/articles/AndroidFragments/article.html] – Gru