您的位置:首页 > 其它

一个简单的新闻应用

2016-01-06 19:05 399 查看
首先,编写一个代表新闻的类,如下:



接着新建news_title.xml布局:



接着建立NewsTitle的适配器,如下:



建立新闻内容的布局文件:



然后建立一个NewsContentFragment类,如下图:



接着创建一个在活动中使用的新闻内容布局,新建news_content.xml,代码如下:



新建NewsContentActivity,作为显示新闻内容的活动,代码如下:



接下来,创建一个news_title_frag.xml,代码如下:



新建一个NewsTitleFragment类:

public class NewsTitleFragment extends Fragment implements OnItemClickListener {
private ListView newsTitleListView;
private List<News> newsList;
private NewsAdapter adapter;
private boolean isTwoPane;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
//初始化新闻数据
newsList=getNews();
adapter=new NewsAdapter(activity, R.layout.news_item, newsList);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.news_content_frag, container,false);
newsTitleListView=(ListView) view.findViewById(R.id.news_title_list_view);
newsTitleListView.setAdapter(adapter);
newsTitleListView.setOnItemClickListener(this);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if(getActivity().findViewById(R.id.news_content)!=null){
isTwoPane=true;
}else{
isTwoPane=false;
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
News news=newsList.get(position);
if(isTwoPane){
NewsContentFragment newsContentFragment=(NewsContentFragment) getFragmentManager().findFragmentById(R.id.news_content_fragment);
newsContentFragment.refresh(news.getTitle(), news.getContent());
}else{
NewsContentActivity.actionStart(getActivity(), news.getTitle(), news.getContent());
}
}
private List<News> getNews(){
List<News> newsList=new ArrayList<News>();
News news1=new News();
news1.setTitle("news1");
news1.setContent("This is news1 !");

News news2=new News();
news2.setTitle("news2");
news2.setContent("This is news2 !");
newsList.add(news1);
newsList.add(news2);
return newsList;
}
}

修改activity_main.xml文件:



在单页模式下,只会加载一个碎片,然后新建layout-sw600dp文件夹,在文件夹下建立activity_main.xml文件:



那么最后主活动的代码如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: