我们重新来过吧。我正在使用片段编写应用程序。Stefan de Bruijn 建议这比使用已弃用的 TabHost 更好,他是对的,谢谢 Stefan。
由于其他成员的帮助,我终于从一个片段中获得了与我的交流活动的工作(你知道你是谁,谢谢大家)。
我现在有希望是最后一个问题。我的应用程序顶部有 TextBox,它是 Activity 的一部分,左侧是永久 ListFragment,右侧是 FrameLayout,以允许显示不同的 Fragment。
如果您喜欢在所有不同片段都可以与之交谈的活动中创建通用“侦听器”,是否有任何方法可以创建通用“侦听器”?
为了获得一个片段传递数据,我使用了以下内容。
主要活动
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 导入并实现的,因此我不能将它与其他任何东西一起使用。
有没有办法解决?
提前谢谢大家。加里