zoukankan      html  css  js  c++  java
  • 一个简单的新闻应用

    首先,编写一个代表新闻的类,如下:

    接着新建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文件:

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

  • 相关阅读:
    A标签几种状况下的样式问题
    接口Comparator和Comparable的区别和联系
    Hash算法的讲解
    我所理解的面向对象
    MySQL中select * for update锁表的范围
    Java中使用同步关键字synchronized需要注意的问题
    大数据量下高并发同步的讲解(不看,保证你后悔)
    Apache、Tomcat、JBoss、Weblogic四个常用的JavaEE服务器
    ibatis基本内容简介
    Java常见排序算法之归并排序
  • 原文地址:https://www.cnblogs.com/hujingwei/p/5106660.html
Copyright © 2011-2022 走看看