Hallo,
womöglich kann mir wer weiterhelfen. Ich suche eine Möglichkeit.
Einen Funktionsaufruf in den OnPreferenceClickListener zu machen welcher in einer Anderen Classe ein funktion ausführt.
Genauer gesagt möchte ich eine Funktion aufrufen warten bis sie Fertig ist und die ermittelten daten wieder zurück gibt. Das Problem ist in einen OnPreferenceClickListener ist das initialisieren eines Interfaces meines erachtens nach nicht möglich. Und bei ein BroadcastReseiver ist meines Erachtens nach ein Rückgabe oder warten auf Ergebnis nicht möglich.
Fürs bessere Verständnis ich möchte einen Bluetooth scann durchführen und dann die Geräte in die ListPreference schreiben.
Der Bluetooth-Scann und das einfügen der Optionen in die ListPreference ist kein Problem. Nur das Trigern der Bluetooth-Scanner-Classe welche in der MainActivity initialisiert ist und via OnPreferenceClickListener aufzurufen wird, ist mir jedoch nicht im klaren.
Ich hoffe ihr könnt mir weiterhelfen. Ich verzweifle schon.
womöglich kann mir wer weiterhelfen. Ich suche eine Möglichkeit.
Einen Funktionsaufruf in den OnPreferenceClickListener zu machen welcher in einer Anderen Classe ein funktion ausführt.
Genauer gesagt möchte ich eine Funktion aufrufen warten bis sie Fertig ist und die ermittelten daten wieder zurück gibt. Das Problem ist in einen OnPreferenceClickListener ist das initialisieren eines Interfaces meines erachtens nach nicht möglich. Und bei ein BroadcastReseiver ist meines Erachtens nach ein Rückgabe oder warten auf Ergebnis nicht möglich.
Fürs bessere Verständnis ich möchte einen Bluetooth scann durchführen und dann die Geräte in die ListPreference schreiben.
Der Bluetooth-Scann und das einfügen der Optionen in die ListPreference ist kein Problem. Nur das Trigern der Bluetooth-Scanner-Classe welche in der MainActivity initialisiert ist und via OnPreferenceClickListener aufzurufen wird, ist mir jedoch nicht im klaren.
Java:
public void onCreatePreferences(Bundle bundle, String s) {
ListPreference preference = findPreference(getString(R.string.settings_ble_choose_device_key));
preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(@NonNull Preference preference) {
callFunctionInMainActivity();
return false;
}
});
}