Die Weitergabe der Daten Von Aktivität zu Fragment wurde unter Verwendung der Schnittstelle

Möchte ich weitergeben von Daten aus Aktivitäten zu bündeln, wurde unter Verwendung der Schnittstelle keine Bündel.
Bitte haben Sie einen Blick auf den folgenden code:

Schnittstelle:

public interface FragmentCommunicator {

   public void passData(String name);
}

MainActivity

public class MainActivity extends AppCompatActivity{

    FragmentCommunicator fragmentCommunicator;
    private Fragment fragment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button b = (Button) findViewById(R.id.button);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fragment= new Fragment();
                fragmentCommunicator = (FragmentCommunicator) getApplication();
                fragmentCommunicator.passData("hello");
                getSupportFragmentManager().beginTransaction().replace(R.id.container ,fragment).commit();

            }
        });

    }
}

Fragment

public class Fragment extends android.support.v4.app.Fragment implements FragmentCommunicator {

    FragmentCommunicator communicator;
    Context c;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment, null);

        return view;
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        this.c = context;

    }
    @Override
    public void passData(String name) {
        Toast.makeText(c, name, Toast.LENGTH_SHORT).show();
    }
}

Ich möchte nur einige Zeichenfolge, wenn ich auf den button klicken, um zu starten fragment und als fragment gestartet wird, sollte zeigen, den toast mit dem string..
Bitte helfen
jede Hilfe würde geschätzt werden.

  • Gewusst wie: übergeben von Aktivität zu fragment - stackoverflow.com/a/9245510/6254066
  • Ich sagte, ich möchte die übergabe von Daten unter Verwendung der Schnittstelle nicht durch das bundle.
InformationsquelleAutor Akshay Sood | 2016-05-09
Schreibe einen Kommentar