如何访问活动中的片段按钮
我正在创建两个java文件第一个主要活动.java文件第二个fragment.java文件在fragment.java上创建按钮如何点击写在activity.java上的监听器帮我
fragment.java
public class fragment extends fragment{ Button btn; // some code btn = (Button)layout.findviewbyid(R.id.btn1); } }
activity.java
public class activity extends Activity { // how to access the click action btn here btn.setOnclicklistner(new View.OnClickLisitner(){ public OnClick(){ }
您可以定义自定义clickListener
类并在fragment
创建它的instance
在那里设置侦听器实例。 现在您可以在该类中编写代码。 希望它会对你有所帮助。
public class MyCustomListener implements OnClickListener{ @override public void onClick(View v){ // you stuff } }
然后在你的片段中调用它
MyCustomListener listener=new MyCustomListener(); btn.setOnClickListener(listener);
如果我正确理解您的问题,您希望将片段内的按钮单击委托给其父活动。
保留对片段内的父活动的引用。 然后将侦听器设置为片段中的按钮,如下所示:
btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { parentActivity.doStuff(); } };
在您的父Activity中,定义方法doStuff()
:
public void doStuff() { // handle button click event here }
要在片段中使用活动按钮,您必须使用getActivity()
在你的片段中,
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_item_select, container, false); btn = (Button) getActivity().findViewById(R.id.btn); }
btn是活动中的按钮
Fragment中的getActivity()返回Fragment当前与之关联的Activity。 (请参阅http://developer.android.com/reference/android/app/Fragment.html#getActivity() )。
- SRV记录从DNS服务器检索的订单
- 如何在谷歌地图android上显示多个标记
- 如何将Android模拟器与本地mysql数据库连接
- 带有android片段的java.lang.NullPointerException
- 以编程方式清除Android上的PhoneGap / Cordova应用程序缓存以模拟全新安装?
- 如何从文本文件中获取特定行到行并在android中显示数组列表
- 从文件视图的url设置typeFace的任何方法?
- Android(Java)方法相当于Hex中的Python HMAC-SHA256
- 在将gradle版本升级到2.3.3时,使用app:transformClassesAndResourcesWithProguardForRelease构建失败