1

Я расширяю фрагмент, и я получаю эту ошибку: метод findViewById(int) не определен для типа Song.Метод findViewById (int) не определен

Ошибка отображается как для моей панели выполнения, так и для webview на findViewById.

public class Song extends Fragment{ 


    ProgressBar progressBar; 


    @Override 


    public View onCreateView(LayoutInflater inflater, ViewGroup container, 


    Bundle savedInstanceState) { 


    View myFragmentView = inflater.inflate(R.layout.song, container, false); 


    return myFragmentView; 


    progressBar = (ProgressBar)findViewById(R.id.progressBar); 


    final WebView mWebView = (WebView)findViewById(R.id.Browsery); 


    mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 


    mWebView.loadUrl("...."); 


    mWebView.setWebViewClient(new WebViewClient(){ 



    public void onPageFinished(WebView view, String url){ 


    progressBar.setVisibility(View.INVISIBLE); 
    } 

    }); 

Пожалуйста, мне нужна помощь

Спасибо.

+0

Сделайте правильное редактирование перед публикацией. – Rajnikant

+1

Просмотреть myFragmentView = inflater.inflate (R.layout.song, container, false); progressBar = (ProgressBar) myFragmentView.findViewById (R.id.progressBar); return myFragmentView; изменение подобный это u hav 2 использовать вид. в фрагменте, как его раздувание макета –

ответ

5

Вы находят взгляд в ту сторону, в то время как добавить view object findViewById, как, как показано ниже:

progressBar = (ProgressBar)myFragmentView.findViewById(R.id.progressBar); 
final WebView mWebView = (WebView)myFragmentView.findViewById(R.id.Browsery); 
+0

@ Робинство, когда я добавляю myFragmentView ко второму, показывает другую ошибку, говорящую о недостижимом коде – 2013-02-20 07:46:14

+0

выполняет инициализацию вида и clickevent в 'onCreateView' – RobinHood

+0

Спасибо за ваш ответ, но как я могу это сделать, я все еще новичок – 2013-02-20 07:55:46

0

Вы должны делать это следующим образом.

ImageView imageView = (ImageView) getView().findViewById(R.id.XYZ); 
+0

@ Rajnikant, когда я добавляю getView() ко второму, это показывает еще одну ошибку, говорящую о коде, недоступном - – 2013-02-20 07:50:52

0
public class Song extends Fragment{ 


ProgressBar progressBar; 


@Override 


public View onCreateView(LayoutInflater inflater, ViewGroup container, 


Bundle savedInstanceState) { 


View myFragmentView = inflater.inflate(R.layout.song, container, false); 





progressBar = (ProgressBar)myFragmentView.findViewById(R.id.progressBar); 


final WebView mWebView = (WebView)myFragmentView.findViewById(R.id.Browsery); 
return myFragmentView; 

mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 


mWebView.loadUrl("...."); 


mWebView.setWebViewClient(new WebViewClient(){ 



public void onPageFinished(WebView view, String url){ 


progressBar.setVisibility(View.INVISIBLE); 
} 

}); 
+0

, когда я добавил myFragmentView ко второму, и ошибка показывает, что код недоступен – 2013-02-20 07:50:01

0

р о возвращении myFragmentView перед тем, как ваши progressBar и webView. ваш код должен быть изменен как:

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

    View myFragmentView = inflater.inflate(R.layout.song, container, false); 

    progressBar = (ProgressBar)myFragmentView.findViewById(R.id.progressBar); 

    final WebView mWebView = (WebView)myFragmentView.findViewById(R.id.Browsery); 

    /// your code .... 
    /// ....... 

    // this should be the last line of your onCreateView() 
    return myFragmentView; 
} 
+0

спасибо, shoshi за ваши усилия и ответ – 2013-02-20 08:06:34

Смежные вопросы