• 一个简单的新闻应用


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

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

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

  • 相关阅读:
    I/O多路复用
    Django重点之url别名
    10 个常用的 Linux 命令?
    软连接和硬链接的区别?
    Linux 重定向命令有哪些?有什么区别?
    在 linux 中 find 和 grep 的区别??
    Django中用 form 实现登录注册
    你所遵循的PEP8代码规范是什么?请举例说明其要求?
    什么是 Python 的命名空间?
    ELK+Kafka日志收集环境搭建
  • 原文地址:https://www.cnblogs.com/hujingwei/p/5106660.html
Copyright © 2020-2023  润新知