Есть фрагмент:
public class CurrentFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_current, null);
return view;
}
public void GetCurrInfo(String url){
final WebView current_web = (WebView) view.findViewById(R.id.current_web);
}
}
Но когда я хочу в методе GetCurrInfo подключить WebView, view горит красным. Знаю почему не работает, но не знаю как сделать правильно.
Переменная View view объявлена в методе onCreateView и, засим, является локальной переменной этого метода. Т.е. она видна/доступна только в этом методе. В других методах её не видно, о чём компилятор вам и сообщает.
В данном случае вам можно или использовать getView() метод фрагмента или, что лучше, объявить WebView currentWeb полем класса, инициализировать её в методе onCreateView и в методе использовать эту переменную:
public class CurrentFragment extends Fragment {
private WebView currentWeb;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_current, null);
currentWeb = (WebView) view.findViewById(R.id.current_web);
return view;
}
public void getCurrInfo(String url){
currentWeb.loadUrl(url);
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости