虽然我的代码可以工作,但我现在不知道它实际上在做什么。我的应用程序是一个 RSS 阅读器,主要内容在一个Fragment
包含对象ListView
的NewsStory
对象中。单击列表项时,它会打开一个Intent
从 RSS 链接的网站。
现在的问题是,我不明白Intent
这里,这不是我以前使用过的方式Intent
。
另外,我必须这样做,以便当我改变方向时,原始配置文件Fragment
占据屏幕的左半部分,链接的网页占据屏幕的右半部分。我折腾了一下,没用。我对方向变化做了一些研究,但我觉得用 s 做事Fragment
总是会改变一切的工作方式。无论如何,这是Fragment
代码。任何想法将不胜感激。
public class HeadlineFragment extends Fragment {
EditText input;
Button search;
ListView headlines;
NewsDataSource ds;
public HeadlineFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_headline,container,false);
input = (EditText)v.findViewById(R.id.txtInput);
search = (Button)v.findViewById(R.id.btnSearch);
headlines = (ListView)v.findViewById(R.id.listView);
try {
ds = new NewsDataSource();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
headlines.setAdapter(new NewsDataSourceAdapter(this.getActivity(), ds));
headlines.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent,View view, int position, long id)
{
String url = NewsDataSource.stories[position].getLink();
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
});
return v;
}
/*
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
*/
}