package
com.gtappdevelopers.kotlingfgproject;
import
android.graphics.Typeface;
import
android.os.Build;
import
android.os.Bundle;
import
android.view.Gravity;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.AdapterView;
import
android.widget.ArrayAdapter;
import
android.widget.LinearLayout;
import
android.widget.Spinner;
import
android.widget.TextView;
import
android.widget.Toast;
import
androidx.annotation.RequiresApi;
import
androidx.appcompat.app.AppCompatActivity;
import
java.util.ArrayList;
public
class
MainActivity
extends
AppCompatActivity {
private
LinearLayout containerLL;
private
ArrayList<String> languageList;
@RequiresApi
(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
containerLL = findViewById(R.id.idLLContainer);
languageList =
new
ArrayList<>();
languageList.add(
"Java"
);
languageList.add(
"Kotlin"
);
languageList.add(
"C++"
);
languageList.add(
"C"
);
LinearLayout.LayoutParams txtLayoutParam =
new
LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
txtLayoutParam.gravity = Gravity.CENTER;
LinearLayout.LayoutParams spinnerLayoutParam =
new
LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
spinnerLayoutParam.gravity = Gravity.CENTER;
TextView headingTV =
new
TextView(
this
);
headingTV.setText(
"Dynamic Spinner in Android"
);
headingTV.setTextSize(20f);
headingTV.setTextColor(getResources().getColor(R.color.black));
headingTV.setTypeface(Typeface.DEFAULT_BOLD);
headingTV.setPadding(
20
,
20
,
20
,
20
);
headingTV.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
headingTV.setLayoutParams(txtLayoutParam);
Spinner spinner =
new
Spinner(
this
);
spinner.setLayoutParams(spinnerLayoutParam);
containerLL.addView(headingTV);
containerLL.addView(spinner);
if
(spinner !=
null
) {
ArrayAdapter adapter =
new
ArrayAdapter(
this
, android.R.layout.simple_spinner_item, languageList);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(
new
AdapterView.OnItemSelectedListener() {
@Override
public
void
onItemSelected(AdapterView<?> parent, View view,
int
position,
long
id) {
Toast.makeText(MainActivity.
this
,
"Selected Language is : "
+ languageList.get(position), Toast.LENGTH_SHORT).show();
}
@Override
public
void
onNothingSelected(AdapterView<?> parent) {
}
});
}
}
}