注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

Fragment非常的重要 进行UI的交互  

2015-03-25 23:52:51|  分类: 疯狂Android 讲义 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
基本的原理
两种基于会掉  对于activity的处理

import android.app.Fragment;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;

public class OneF extends Fragment implements OnClickListener{

private Button butotn;
public interface BtoneClickListen
{
void FoneClick();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(getActivity() instanceof BtoneClickListen)
{
((BtoneClickListen)getActivity()).FoneClick();
//这个也是,差不多的会掉函数的机制
}

}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = inflater.inflate(R.id.id_content,container);
butotn=(Button)view.findViewById(R.id.button1);
butotn.setOnClickListener(this);
return view;
}

}


package com.example.fragmentcommuniation;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;

public class TwoF extends Fragment implements OnClickListener {

private Button button;
private FtwoOnclicklisten nowcFtwoOnclicklisten;
public interface FtwoOnclicklisten
{
void Ftwoclick();
}
//设置毁掉的接口;
public void setFtwoclickListener(FtwoOnclicklisten now)
{
this.nowcFtwoOnclicklisten=now;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(nowcFtwoOnclicklisten!=null)
{
nowcFtwoOnclicklisten.Ftwoclick();
//回调函数的意义之重要;
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view =inflater.inflate(R.layout.two_layout, container);
button =(Button)view.findViewById(R.id.cont_Button2);
button .setOnClickListener(this);

return view;

}


}


在Fragment里面操作另外的Fragment,但是没有特殊理由是绝对不提倡的。Activity担任的是Fragment间类似总线一样的角色,应当由它决定Fragment如何操作。

ackage com.example.fragmentcommuniation;

import com.example.fragmentcommuniation.OneF.BtoneClickListen;
import com.example.fragmentcommuniation.TwoF.FtwoOnclicklisten;

import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;

import android.widget.Toast;

public class MainActivity extends Activity implements
BtoneClickListen,
FtwoOnclicklisten{


private OneF one;
private TwoF two;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
one =new OneF();
FragmentManager nowFragmentManager =getFragmentManager();
FragmentTransaction nowFragmentTransaction=nowFragmentManager.beginTransaction();
nowFragmentTransaction.add(R.id.id_content, one, "one");
nowFragmentTransaction.commit();
}

@Override
public void Ftwoclick() {
// TODO Auto-generated method stub
Toast.makeText(this, "i men in two", Toast.LENGTH_LONG).show();

}

@Override
public void FoneClick() {
// TODO Auto-generated method stub
if (two == null)
{
two =new TwoF();
two.setFtwoclickListener(this);
}
FragmentManager fm = getFragmentManager();
FragmentTransaction tx = fm.beginTransaction();
tx.replace(R.id.id_content, two, "TWO");
tx.addToBackStack(null);
tx.commit();

}
}



  评论这张
 
阅读(3)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017