В моем приложении есть действие под названием tasti.class
.Когда я нажимаю button
«aggiungi tasti», он открывает AlertDialog
, где я могу ввести имя.Затем, когда я нажимаю «Сохранить», он создает пользовательский CardView
в моем GridView
, который находится внутри моего ScrollView
, как вы можете видеть на скриншоте ниже.
Теперь я хотел бы знать, возможно ли сделать любой из этих созданных CardViews
кликабельным.Я хочу иметь возможность изменить, когда я нажму на один из них, Text
внутри него.
Вот мой tasti.class
код:
public class tasti extends AppCompatActivity {
RelativeLayout rellay_LOAD;
GridLayout gridLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tasti);
rellay_LOAD = findViewById(R.id.rellay_LOAD);
gridLayout = findViewById(R.id.gridLayout);
rellay_LOAD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CustomAllert();
}
});
}
public void addLayout(String textViewText){
View card = LayoutInflater.from(this).inflate(R.layout.cardview, gridLayout, false);
TextView textView = card.findViewById(R.id.btnName);
textView.setText(textViewText);
gridLayout.addView(card);
}
public void CustomAllert(){
AlertDialog.Builder mBuilder = new AlertDialog.Builder(tasti.this);
@SuppressLint("InflateParams") View mView = getLayoutInflater().inflate(R.layout.custom_dialog, null);
final EditText bottone = mView.findViewById(R.id.etBottone);
final EditText prezzo = mView.findViewById(R.id.etPrezzo);
Button mLogin = mView.findViewById(R.id.btnADD);
mBuilder.setView(mView);
final AlertDialog dialog = mBuilder.create();
dialog.show();
mLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!bottone.getText().toString().isEmpty() && !prezzo.getText().toString().isEmpty()) {
Toast.makeText(tasti.this,
"Tasto aggiunto con successo", Toast.LENGTH_SHORT).show();
addLayout(bottone.getText().toString());
dialog.dismiss();
} else {
Toast.makeText(tasti.this,
"Non lasciare dei campi vuoti!", Toast.LENGTH_SHORT).show();
}
}
});
}
}
Есть ли у кого-нибудь какие-либо предложенияо том, как я могу это сделать?Есть ли способ сделать это без RecyclerView
?