[英]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.