@@ -46,7 +46,7 @@ public interface OnAutoDetectCountryListener {
46
46
private SearchView mSearchViewCountry ;
47
47
private int mStyle ;
48
48
private DetectionMethod mDetectionMethod = DetectionMethod .NONE ;
49
-
49
+ private BaseView mBaseView ;
50
50
private RecyclerViewAdapter .OnCountryClickListener mOnCountryClickListener ;
51
51
private OnAutoDetectCountryListener mOnAutoDetectCountryListener ;
52
52
private View mView ;
@@ -114,10 +114,14 @@ private void initView() {
114
114
LayoutInflater layoutInflater = LayoutInflater .from (mContext );
115
115
mView = layoutInflater .inflate (R .layout .layout_countrypicker , null );
116
116
mRecyclerView = mView .findViewById (R .id .recyclerview_countries );
117
+
117
118
mRecyclerView .addItemDecoration (new DividerItemDecoration (mContext , DividerItemDecoration .VERTICAL ));
118
119
RecyclerViewAdapter recyclerViewAdapter = new RecyclerViewAdapter (mCountries , mPreSelectedCountry , mShowingFlag , mShowingDialCode );
119
120
if (mOnCountryClickListener != null )
120
- recyclerViewAdapter .setListener (mOnCountryClickListener );
121
+ recyclerViewAdapter .setListener (country -> {
122
+ mOnCountryClickListener .onCountrySelected (country );
123
+ dismiss ();
124
+ });
121
125
LinearLayoutManager layoutManager = new LinearLayoutManager (mContext );
122
126
mRecyclerView .setHasFixedSize (true );
123
127
mRecyclerView .setAdapter (recyclerViewAdapter );
@@ -236,8 +240,14 @@ private void detectByNetwork() {
236
240
237
241
public void show (AppCompatActivity activity ) {
238
242
239
- BaseView baseView = ViewFactory .create (mViewType , activity );
240
- baseView .showView (mView );
243
+ mBaseView = ViewFactory .create (mViewType , activity );
244
+ mBaseView .showView (mView );
245
+
246
+ }
247
+
248
+ public void dismiss () {
249
+
250
+ mBaseView .dismissView ();
241
251
}
242
252
243
253
@ Override
0 commit comments