-1
setOnDismissListenerを助けるだけでAPIの仕事ですか>?
setOnDismissListenerを助けるだけでAPIの仕事ですか>?
APIレベル16でテストされています(正常に動作しています)。しかし、Androidの教祖のための質問:私はとにかくそれほど適切ではない方法だと思いますし、私はあなたの賢明な助言をお待ちしております:
public class CustomAutoCompleteTextView extends AutoCompleteTextView
public void setupActv() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
Log.d("testThisShit", "on Dismiss");
}
});
} else {
try {
Field popup = AutoCompleteTextView.class.getDeclaredField("mPopup");
popup.setAccessible(true);
ListPopupWindow popupWindow = (ListPopupWindow) popup.get(this);
popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
Log.d("testThisShit", "on Dismiss < 17");
}
});
} catch (NoClassDefFoundError | ClassCastException | NoSuchFieldException | IllegalAccessException e) {
Log.d("testThisShit", e.getMessage());
}
}
}
にこのコードを入れて、あなたのコードは次のように何を求めていますか?何を試しましたか? 'setOnDismissListener'がAPI> = 17で動作しないことをどのように知っていますか? – SunSparc
のAndroid Studioは私に言ったので: コールは、APIレベル17を(現在の分が15である)必要があります。android.widget.AutoCompleteTextView#setOnDismissListener少ない...(Ctrlキー+ F1) – Andreyua
mActvSearchWeb.setOnDismissListener(新AutoCompleteTextView.OnDismissListener(){ @オーバーライド public void onDismiss(){ } }); – Andreyua