gpt4 book ai didi

java - 如何设置 Spinner Initial Text "SELECT ONE"?

转载 作者:行者123 更新时间:2023-11-30 04:54:42 25 4
gpt4 key购买 nike

我想将 Spinner 初始文本设置为 SELECT ONE?怎么可能?

public class MainActivity extends AppCompatActivity {

RecyclerView recyclerView;
Adapter adapter;
ArrayList<ModelClass> arrayList;
RecyclerView.LayoutManager layoutManager;
EditText edit_name, edit_desc;
Spinner spinner;
Button btm_save, btn_delete;
String Name, Description, Spinner;
SqliteHelper sqliteHelper;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edit_name = findViewById(R.id.edit_name);
edit_desc = findViewById(R.id.edit_desc);
btm_save = findViewById(R.id.btn_save);
btn_delete = findViewById(R.id.btn_view);
spinner = findViewById(R.id.spinner);
sqliteHelper = new SqliteHelper(this);


ArrayAdapter<CharSequence> arrayAdapter = ArrayAdapter.createFromResource(this, R.array.Options, android.R.layout.simple_spinner_item);
arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(arrayAdapter);


recyclerView = findViewById(R.id.recylerView);
arrayList = new ArrayList<>();
adapter = new Adapter(this, arrayList);
recyclerView.setAdapter(adapter);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);

edit_name.addTextChangedListener(textWatcher);
edit_desc.addTextChangedListener(textWatcher);
btm_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Name = edit_name.getText().toString();
Description = edit_desc.getText().toString();
Spinner = spinner.getSelectedItem().toString();
if (!ValidateUser(Name)) {
if (!TextUtils.isEmpty(Spinner)) {
ModelClass modelClass = new ModelClass(Name, Spinner, Description);
arrayList.add(modelClass);
adapter.notifyItemInserted(arrayList.size());
InsertData();
} else {
Toast.makeText(MainActivity.this, "Please Select Experience", Toast.LENGTH_SHORT).show();
}
}else
{
Toast.makeText(MainActivity.this, "User name Already Exits", Toast.LENGTH_SHORT).show();
}


}
});

btn_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
/*RetriveData();*/
Integer deletedRows = sqliteHelper.deleteData(edit_name.getText().toString());
if (deletedRows > 0 )
{
Toast.makeText(MainActivity.this, "Record Deleted", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Record Not Found", Toast.LENGTH_SHORT).show();
}
}
});




}

private void InsertData() {

boolean InsertSuccessfully = sqliteHelper.InsertData(Name, Description, Spinner);
if (InsertSuccessfully) {
Toast.makeText(this, "Record Inserted", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Record Not Inserted", Toast.LENGTH_SHORT).show();
}
}

private TextWatcher textWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Name = edit_name.getText().toString();
Description = edit_desc.getText().toString();
btm_save.setEnabled(!Name.isEmpty() && !Description.isEmpty());
}

@Override
public void afterTextChanged(Editable editable) {
}
};

public boolean ValidateUser(String name)
{
SQLiteDatabase database = sqliteHelper.getWritableDatabase();
Cursor cursor = database.query(SqliteHelper.TABLE_NAME, null, SqliteHelper.COL_2 + "=?", new String[]{name},
null, null, null);
int i = cursor.getCount();
if (i>0)
{
return true;
}else
{
return false;
}

}

}

最佳答案

final ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this,R.layout.spinner_item,plantsList){
@Override
public boolean isEnabled(int position){
if(position == 0)
{
// Disable the first item from Spinner
// First item will be use for hint
return false;
}
else
{
return true;
}
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
if(position == 0){
// Set the hint text color gray
tv.setTextColor(Color.GRAY);
}
else {
tv.setTextColor(Color.BLACK);
}
return view;
}
};

将提示消息添加为微调器数组中的第一个元素。像这样添加创建 ArrayAdapter。这将使初始元素不可选择并以灰色显示。

关于java - 如何设置 Spinner Initial Text "SELECT ONE"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59451012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com