滑动视图以阅读下一条新闻

时间:2017-02-04 10:07:31

标签: android android-intent swipe

我使用Adapter extends BaseAdapter通过在片段中使用ListView来显示所有新闻(NewsListFragment)。为了阅读每条新闻,我使用Intent来调用DetailActivity.class。如果用户想要阅读下一条新闻,他会回到列表视图,点击下一个或上一个新闻,依此类推。 我的问题是,你有一个新的细节;如何通过juste SWIPE左或右视图阅读下一个或上一个新闻。

这是我的 NewsListFragment 代码

    private List<News_Item> array=new ArrayList<>();
....

 lv=(ListView)Npages.findViewById(R.id.list_new_item);
        adapter=new NewsMain_Adapter(getActivity(),array);
        listView.setAdapter(adapter); 

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        String title= ((TextView)view.findViewById(R.id.letitre)).getText().toString();
                String body= ((TextView)view.findViewById(R.id.content)).getText().toString();

        Intent i = new Intent(getActivity(), DetailActivity.class);

        i.putExtra("title", title);
                i.putExtra("content", body);

                startActivity(i);

 }
        });
....

DetailActivity.class 代码

  final TextView lbtitle= (TextView)findViewById(R.id.letitre);
  final TextView lbbody = (TextView)findViewById(R.id.lcontent);

Intent i = getIntent();
String title = i.getStringExtra("title");
String content= i.getStringExtra("content");

lbtitle.setText(title);
lbbody.setText(content);

...

Adapter.class 代码

public class Adapter extends BaseAdapter {
    private Activity activity;
    private LayoutInflater inflater;
    private List<News_Item> items;
    ImageLoader imageLoader=AppController.getInstance().getImageLoader();

    public Adapter (Activity activity,List<News_Item> items){
        this.activity=activity;
        this.items =items;
    }

    @Override
    public int getCount() {
        return items.size();
    }

    @Override
    public Object getItem(int position) {
        return items.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(inflater==null){
            inflater=(LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }
        if(convertView==null){
            convertView=inflater.inflate(R.layout.page_news_rows,null);
        }
        if(imageLoader==null)
            imageLoader=AppController.getInstance().getImageLoader();

        TextView titre =(TextView)convertView.findViewById(R.id.letitre);
        TextView contenu =(TextView)convertView.findViewById(R.id.contenu);

        //getting data for row
        News_Item item=items.get(position);

        //tittre
        titre.setText(item.getTitle());
        //content
        contenu.setText(item.getContenu());

        return convertView;
    }
}

我必须在DetailActivity.class中使用 OnSwipeTouchListener ,但我需要你的帮助。 感谢光明,请。

0 个答案:

没有答案