Ich wollte Daten von Aktivität zu derzeit geladenen Fragment auf Knopfdruck übergeben. Dafür habe ich Interface erstellt und in Aktivität definiert und in Schnittstelle implementieren, konnte jedoch keine Antwort in Fragment erhalten.Schnittstelle nicht von Aktivität zu aktuell geladenen Fragment
I Die Ausgabe wurde immer dann benötigt, wenn die Schaltfläche "Klicken" in der Aktivität "Aktiviert" angeklickt wird.
Hier ist mein Code. Bitte helfen Sie mir, dies zu lösen.
Inteface
public interface Click {
void onClick(String msg);
}
Haupt actvity
public class MainActivity extends FragmentActivity {
DrawerLayout dlMain;
Button btnClick;
Click click;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentOne fragmentOne = new FragmentOne();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.flContainer, fragmentOne,"FragmentOne");
ft.commit();
click = (Click) getSupportFragmentManager().findFragmentByTag("FragmentOne").;
dlMain = (DrawerLayout) findViewById(R.id.dlMain);
btnClick = (Button) findViewById(R.id.btnClick);
btnClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("Btn Click", "click");
click.onClick("Button Clicked!");
}
});
}
}
FragmentOne
public class FragmentOne extends Fragment implements Click {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_one, container, false);
return view;
}
@Override
public void onClick(String msg) {
Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT).show();
}
}
Aber ich bin immer Fehler in MainActivity Diese meine Fehlerprotokolle ist.
05-09 10: 30: 49,092 19.101-19.101/com.psk.interfacetest E/Btn klicken: Klicken Sie 05-09 Oktober: 30: 49,095 19.101-19.101/com.psk.interfacetest E/Android Runtime: FATAL AUSNAHME: Haupt Prozess: com.psk.interfacetest, PID: 19101 java.lang.NullPointerException bei com.psk.interfacetest.MainActivity $ 1.onClick (MainActivity.java:37) bei android.view.View .performClick (View.java:4471) bei android.view.View $ PerformClick.run (View.java:18778) bei android.os.Handler.handleCallback (H andler.java:808) bei android.os.Handler.dispatchMessage (Handler.java:103) bei android.os.Looper.loop (Looper.java:193) bei android.app.ActivityThread.main (ActivityThread. java: 5345) bei java.lang.reflect.Method.invokeNative (Mutter Methode) bei java.lang.reflect.Method.invoke (Method.java:515) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller .run (ZygoteInit.java:824) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:640) bei dalvik.system.NativeStart.main (native Methode)
Dank .. -Arbeiten groß ..... – Rushvi