Есть фрагмент:
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);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Есть строки (их очень много) вида: String s1 = "10:11:23555", т
Какая разница между Cascade types в Hibernate и ON DELETE/UPDATE actions в SQLНужно ли менять ON UPDATE/ON DELETE на Cascade для коректного использования CascadeType в Hibernate?
На данный вопрос уже ответили: