-1
Я делаю приложение в студии Android, у которого есть вкладки, и одна из этих вкладок - это RSS-канал. Я пытаюсь сделать так, что, когда я нажимаю на один из элементов списка, он перенаправляет меня на веб-страницу.Открыть веб-страницу в виде списка нажмите
Tab_1.class:
public class Tab_1 extends Fragment {
ListView mList;
ArrayList<Info> arrayOfInfo = new ArrayList<>();
int i=-1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String url = LAdapter.getItem(position).getLink();
//Intent i = new Intent(Intent.ACTION_VIEW);
//i.setData(Uri.parse(url));
//startActivity(i);
}
});
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.tab_1, container, false);
mList = (ListView) v.findViewById(R.id.list);
new GetRssFeed().execute("http://feeds.bbci.co.uk/news/rss.xml");
return v;
}
private class GetRssFeed extends AsyncTask<String, Void, Void> {
@Override
protected Void doInBackground(String... params) {
try {
RssReader rssReader = new RssReader(params[0]);
for (RssItem item : rssReader.getItems()) {
arrayOfInfo.add(i++, new Info(item.getTitle(), item.getDescription(), item.getLink()));
}
} catch (Exception e) {
Log.v("Error Parsing Data", e + "");
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
LAdapter adapter = new LAdapter(getActivity(), arrayOfInfo);
adapter.notifyDataSetChanged();
mList.setAdapter(adapter);
}
}
}
P.S. url = LAdapter.getItem(position).getLink(); getItem
отмечен как красный (Non-статический метод не может ссылаться форма статического контекста)
попросили раз bazillion ... всю необходимую вам информацию, передаются 'onItemClick' ... есть не нужно использовать другие ссылки ... приведите результат 'AdapterView.getItemAtPosition' к типу элемента и используйте его – Selvin
String url = AdapterView.getItemAtPosition.Link; getItemAtPosition - не может разрешить символ. –
ok .... узнать java ... 'getItemAtPosition' не является статичным ... у вас должен быть экземпляр« AdapterView »... проверьте параметры' onItemClick' ... – Selvin