解决方案 »

  1.   

    Activity实现一个接口Interface,并把自己传给Fragment,Fragment里面的ListView长按时调用接口中的方法,委托,这样行吗?
      

  2.   

    其实没那么复杂,了解frgment的生命周期,在onrestart的时候加入adapter的刷新事件就可以了
      

  3.   


    感谢!
    你回答的是下边这个问题吧?是的,这样可行。不过细分析会有这么个问题:返回到mainactivity有2种可能,一种是listview应该刷新,因为对应的数据发生了变化;另一种可能是“取消”类型的中途直接返回,数据不发生任何变化——这个时候我不想刷新。如果onrestart中加入刷新操作的话,是不是没办法分辨什么情况刷新什么情况不刷新啊?当然退一步说,因为我是个业余爱好者,在实际专业的开发中是不是可以不用考虑的这么纠结呢?这我就不知道了。望解惑,谢谢!
      

  4.   

    1.就是一个布局的问题,在fragmentActivity的布局加上删除布局并且在叠加在导航栏的上面,
    2.定义个状态值,静态的,保存在shareprefence里面都可以,然后改变了就改变这个值,fragment里onResume判断就行了,刷新后状态值重置。
      

  5.   


    感谢!
    你回答的是下边这个问题吧?是的,这样可行。不过细分析会有这么个问题:返回到mainactivity有2种可能,一种是listview应该刷新,因为对应的数据发生了变化;另一种可能是“取消”类型的中途直接返回,数据不发生任何变化——这个时候我不想刷新。如果onrestart中加入刷新操作的话,是不是没办法分辨什么情况刷新什么情况不刷新啊?当然退一步说,因为我是个业余爱好者,在实际专业的开发中是不是可以不用考虑的这么纠结呢?这我就不知道了。望解惑,谢谢!都刷新啊,但是第二种情况回来的时候,值没有改变,它就不会刷新了
      

  6.   

    第一个问题:
    1.fragment1中定义一个接口:
    public interface DeleteZoneListener{
         public void showZone();
        }
    2.在fragment1中长按的事件监听中调用这个接口的方法:
    delZoneListener.showZone();
    3.activity中实现上面的接口:implements Fragment1.DeleteZoneListener
    并实现其方法:
    public void showZone(){
             llBottomBtn.setVisibility(View.VISIBLE);//显示一个view
             rgBottom.setVisibility(View.GONE);//隐藏一个view
            }
    4.在activity中为显示出来的按钮设置监听,如删除按钮:
    btnDelete.setOnClickListener(new OnClickListener() {
                 @Override 
                 public void onClick(View v){
                     ((Fragment1) frgmt1).deleteData();
                     llBottomBtn.setVisibility(View.GONE);
                     rgBottom.setVisibility(View.VISIBLE);
                 }
                });
    5.在fragment1中实现具体删除的操作即上面的deleteData()第二个问题用的是5楼的的解决方法。