简体   繁体   English

调用类从扩展Fragment的类扩展Fragment方法

[英]Call class extends Fragment method from a class extends Fragment

How do I call a class which extends a fragment from a class which extends a fragment?I have tried looking through various tutorials and Stack Overflow questions but when I try to implement the getParentFragment() I get an error returns null 我如何从扩展片段的类中调用扩展片段的类?我尝试浏览各种教程和Stack Overflow问题,但是当我尝试实现getParentFragment() ,出现错误returns null

My MySetting.class: 我的MySetting.class:

public class MySettings extends Fragment {

    public static MySettings s_HomeActivity;
    s_HomeActivity=this;

    btAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
                alert.setTitle("Text");
                alert.setMessage("Name");

                // Set an EditText view to get user input
                final EditText input = new EditText(getActivity());
                alert.setView(input);
                alert.setPositiveButton("Add",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                                int whichButton) {
                                String value = input.getText().toString();
                                MyJournalEvents m =(MyJournalEvents)s_HomeActivity.getParentFragment();
                                m.AddNewDisp(value);

                            }
                        });
                alert.setNegativeButton("Отмена",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                                int whichButton) {
                                // Canceled.
                            }
                        });
                alert.show();
            } 
            catch (Exception ex) {
                int t = 0;
            }
        }
    });
}

My MyJournalEvents.class: 我的MyJournalEvents.class:

public class MyJournalEvents extends Fragment {

public void AddNewDisp(String name) {
    dataAdapterDisp.add(name);
    dataAdapterDisp.sort(null);
    dataAdapterDisp.notifyDataSetChanged();
    spComboDisp.setSelection(dataAdapterDisp.getPosition(name));
    saveConection(xxx, "xxx", "xxx", "xxx",
            "xxx", "xxx");
   }
}

In Android, Fragments are not designed to work like that (calling methods from each other). 在Android中,Fragments并非如此设计(彼此调用方法)。

There are multiple ways to implement the communication between fragments and you can read more about how Android Fragments are designed to work here . 有多种方法可以实现片段之间的通信,您可以了解有关Android片段如何在此处工作的更多信息 You can also find a sample there with example regarding this topic. 您也可以在那里找到有关此主题的示例示例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 扩展Fragment的类的调用方法 - Call method from class which extends Fragment 将数据从“扩展活动”的类传递到“扩展片段”的类 - Passing data from a class that 'extends activity' to a class that 'extends fragment' 从扩展 Fragment 的类启动 AppCompatActivity Activity - Starting an AppCompatActivity Activity from a class that extends Fragment 当扩展片段的类中的getArguments()时为NPE - NPE when getArguments() from a class that extends fragment 带有扩展Fragment的类的FragmentTransaction和Animation - FragmentTransaction and Animation with a class that extends Fragment 调用从MainActivity类扩展Activity的Fragment扩展的类Fragment - Calling a Class Fragment which extends Fragment from a MainActivity Class which extends Activity 如何获取扩展片段/活动等的 class 的 class 的视图 - How to get the View for a class, that extends a class that extends Fragment/activity etc 尝试使用kfcTab2(class)中的“ This”调用KFCdata(Class)的构造函数会扩展Fragment - Trying to call a constructor of KFCdata(Class) using “This” from kfcTab2(class) extends Fragment 将值从MainActivity传递到扩展Fragment的Java_Class失败 - Passing values from MainActivity to a Java_Class that extends Fragment fails 无法在扩展片段的类中执行AsyncTask - Failed to execute the AsyncTask in a Class that Extends a Fragment
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM