[英]how to call method of one fragment from another fragment class in android
[英]How to call one Fragment Class Method from another Fragment in android
嗨,我對我的應用程序中的android非常陌生,我創建了兩個片段,分別是“ MenuFragment”和“ TextFragment”好的
但是在我的TextFragment中我有一個方法,因此我想從我的MenuFragment類中調用該方法
我想從我的MenuFragment調用的public void change(String txt,String txt1)方法
我該怎么做請幫我一些
public class TextFragment extends Fragment {
TextView text,vers;
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState) {
return view;
}
public void change(String txt, String txt1){
text.setText(txt);
vers.setText(txt1);
}
}
public class MenuFragment extends Fragment {
String[] AndroidOS = new String[]{"Cupcake", "Donut", "Eclair", "Froyo", "Gingerbread", "Honeycomb", "Ice Cream SandWich", "Jelly Bean", "KitKat", "Jelly Bean", "KitKat"};
String[] Version = new String[]{"1.5", "1.6", "2.0-2.1", "2.2", "2.3", "3.0-3.2", "4.0", "4.1-4.3", "4.4", "4.1-4.3", "4.4"};
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
}
}
你可以試試看
對於TextFragment:-
public class TextFragment extends Fragment{
public static TextView text,vers;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
public static void change(String txt, String txt1){
text.setText(txt);
vers.setText(txt1);
}
}
對於MenuFragment:-
public class MenuFragment extends Fragment {
ListView list;
Button button1, button2;
String[] AndroidOS = new String[]{"Cupcake", "Donut", "Eclair", "Froyo", "Gingerbread", "Honeycomb", "Ice Cream SandWich", "Jelly Bean", "KitKat", "Jelly Bean", "KitKat"};
String[] Version = new String[]{"1.5", "1.6", "2.0-2.1", "2.2", "2.3", "3.0-3.2", "4.0", "4.1-4.3", "4.4", "4.1-4.3", "4.4"};
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
TextFragment.change(AndroidOS[position],Version[position]);
}
}
希望對您有所幫助。謝謝
像這樣在兩個片段之間保持通信不是一個好主意,因為您正在耦合這些fragments
。 TextFragment
不應該知道MenuFragment
方法。
此處介紹了一個更好的解決方案: http : //developer.android.com/guide/topics/fundamentals/fragments.html
您必須為這兩個fragments
創建Activity
並進行call back
以進行通信
因此,這與Android無關,您需要更好地理解什么是類,對象,指針等-所有通用的OOP概念。
為了獲得結果,您需要向TextFragment類的對象添加變量指針,使用前必須對其進行正確初始化。 然后只需致電:
if(varPtr!=null)
varPtr.change(...);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.