这里我们再次去。 我在写一个使用片段的应用程序。 Stefan de Bruijn建议这比使用弃用的TabHost更好,他是对的,谢谢Stefan。多片段活动沟通
我终于得到了从一个片段到我的沟通活动工作得益于其他成员的帮助(你知道你是谁,谢谢大家)。
我现在有什么希望是最后一个问题。我的应用程序在顶部是TextBox,它是Activity的一部分,左边是一个永久ListFragment,右边是FrameLayout,用于显示不同的片段。
如果你喜欢在Activity中所有不同的碎片可以与之通话,是否有任何方法可以创建通用的“侦听器”?
要获得一个片段传递数据我已经使用了以下内容。
MainActivity
import com.example.fragger.CoreFragment.OnDataPass;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.EditText;
public class MainActivity extends Activity implements OnDataPass {
和片段代码: -
package com.example.fragger;
import android.app.Activity;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.os.Bundle;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.view.View.OnClickListener;
public class CoreFragment extends Fragment{
int index;
Button Button1,Button2,Button3;
String Str,data;
OnDataPass dataPasser;
@Override
public void onAttach(Activity a) {
super.onAttach(a);
dataPasser = (OnDataPass) a;
}
public static CoreFragment newInstance(int index) {
CoreFragment coreFragment = new CoreFragment();
coreFragment.index = index;
return coreFragment;
}
public interface OnDataPass {
public void onDataPass(String data);
}
这是一个好主意,直到我告诉我的框架(例如PlaceFragment)不同的片段。由于onDataPass是从CoreFragment导入并实现的,因此我无法将其与其他任何东西一起使用。
有没有办法解决这个问题?
感谢所有提前。 Gary
谢谢你。查看了github上的EventBus并下载了zip文件。愚蠢的问题可能,但我仍然在Android开发世界学习,我如何在日食中“插入”事件总线到我的应用程序?对不起,如果我问一个愚蠢的问题。 – Gary
将jar放入项目的libs文件夹中,并在Eclipse中添加jar依赖项。在http://www.slideshare.net/greenrobot/eventbus-for-android-15314813上,您可以找到关于EventBus的演示文稿。 – userM1433372
好的,谢谢你,我会在周末试一试。有一个好的一切! – Gary