android微调器在一个对话框中,当我们点击一个项目listview时不起作用

neskvpey  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(198)

我从android开始。在一个活动中,我创建了一个带有自定义视图的listview,当我单击时,我打开了一个带有多个微调器和文本视图的对话框。但是,我的旋转器不工作。将显示微调器列表,但单击时不会发生任何情况,也不会显示默认值。
提前感谢您的帮助!
下面是一个驱动链接,可以查看发生了什么:https://drive.google.com/file/d/1t2omoa7gjqjnttvv6wig5eshyo5cwj0v/view?usp=sharing
下面是我的代码:teamactivity.java

  1. public class TeamActivity extends AppCompatActivity{
  2. ArrayList<Team> teams;
  3. static String[] selected;
  4. static int id_selected;
  5. Spinner s_p1;
  6. ArrayAdapter ad_sp1;
  7. Spinner s_p2;
  8. Spinner s_p3;
  9. //Constructeur
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_team);
  13. /*Team creation*/
  14. teams = new ArrayList<Team>();
  15. int id = 1;
  16. for (int i = 0; i < participants.size(); i = i + 3) {
  17. teams.add(new Team(id, participants.get(i), participants.get(i + 1), participants.get(i + 2)));
  18. id++;
  19. }
  20. /*list view*/
  21. final ListView listView = (ListView) findViewById(R.id.listView_team);
  22. // Create the adapter to convert the array to views
  23. final TeamAdapter adapter = new TeamAdapter(this, teams);
  24. // Attach the adapter to a ListView
  25. listView.setAdapter(adapter);
  26. listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  27. @Override
  28. public void onItemClick(AdapterView<?> adapterView, final View view, int i, long l) {
  29. id_selected = i;
  30. AlertDialog.Builder d_builder = new AlertDialog.Builder(listView.getContext());
  31. View d_order = getLayoutInflater().inflate(R.layout.dialog_order,null);
  32. s_p1 = (Spinner) d_order.findViewById(R.id.spinner_p1);
  33. selected = new String[3];
  34. ad_sp1 = new ArrayAdapter<String>(listView.getContext(),android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.value));
  35. ad_sp1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  36. s_p1.setAdapter(ad_sp1);
  37. d_builder.setPositiveButton("Validez", new DialogInterface.OnClickListener() {
  38. @Override
  39. public void onClick(DialogInterface dialog, int which) {
  40. adapter.notifyDataSetChanged();
  41. dialog.dismiss();
  42. }
  43. });
  44. d_builder.setView(d_order);
  45. AlertDialog dialog = d_builder.create();
  46. dialog.show();
  47. }
  48. });
  49. }
  50. }

布局/对话框\u order.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:background="#FFFFFF">
  8. <Spinner
  9. android:id="@+id/spinner_p3"
  10. android:layout_width="84dp"
  11. android:layout_height="41dp"
  12. android:layout_marginStart="6dp"
  13. android:layout_marginTop="116dp"
  14. android:layout_toEndOf="@+id/textView_fname_p3"
  15. android:backgroundTint="#000000"
  16. app:layout_constraintStart_toStartOf="parent"
  17. app:layout_constraintTop_toTopOf="parent" />
  18. <TextView
  19. android:id="@+id/textView_name_p1"
  20. android:layout_width="237dp"
  21. android:layout_height="wrap_content"
  22. android:layout_alignParentStart="true"
  23. android:layout_alignParentTop="true"
  24. android:layout_marginStart="20dp"
  25. android:layout_marginTop="16dp"
  26. android:text="TextView"
  27. android:textSize="30sp"
  28. app:layout_constraintTop_toTopOf="parent"
  29. tools:layout_editor_absoluteX="25dp" />
  30. <TextView
  31. android:id="@+id/textView_fname_p1"
  32. android:layout_width="237dp"
  33. android:layout_height="wrap_content"
  34. android:layout_alignParentStart="true"
  35. android:layout_alignParentTop="true"
  36. android:layout_marginStart="268dp"
  37. android:layout_marginTop="16dp"
  38. android:text="TextView"
  39. android:textSize="30sp"
  40. app:layout_constraintTop_toTopOf="parent"
  41. tools:layout_editor_absoluteX="276dp" />
  42. <TextView
  43. android:id="@+id/textView_name_p2"
  44. android:layout_width="237dp"
  45. android:layout_height="wrap_content"
  46. android:layout_alignParentStart="true"
  47. android:layout_alignParentTop="true"
  48. android:layout_marginStart="21dp"
  49. android:layout_marginTop="63dp"
  50. android:text="TextView"
  51. android:textSize="30sp"
  52. tools:layout_editor_absoluteX="25dp"
  53. tools:layout_editor_absoluteY="66dp" />
  54. <TextView
  55. android:id="@+id/textView_fname_p2"
  56. android:layout_width="237dp"
  57. android:layout_height="wrap_content"
  58. android:layout_alignParentStart="true"
  59. android:layout_alignParentTop="true"
  60. android:layout_marginStart="268dp"
  61. android:layout_marginTop="65dp"
  62. android:text="TextView"
  63. android:textSize="30sp"
  64. tools:layout_editor_absoluteX="276dp"
  65. tools:layout_editor_absoluteY="66dp" />
  66. <TextView
  67. android:id="@+id/textView_name_p3"
  68. android:layout_width="237dp"
  69. android:layout_height="wrap_content"
  70. android:layout_alignParentStart="true"
  71. android:layout_alignParentTop="true"
  72. android:layout_marginStart="20dp"
  73. android:layout_marginTop="112dp"
  74. android:text="TextView"
  75. android:textSize="30sp"
  76. tools:layout_editor_absoluteX="25dp"
  77. tools:layout_editor_absoluteY="116dp" />
  78. <TextView
  79. android:id="@+id/textView_fname_p3"
  80. android:layout_width="237dp"
  81. android:layout_height="wrap_content"
  82. android:layout_alignParentStart="true"
  83. android:layout_alignParentTop="true"
  84. android:layout_marginStart="268dp"
  85. android:layout_marginTop="113dp"
  86. android:text="TextView"
  87. android:textSize="30sp"
  88. tools:layout_editor_absoluteX="276dp"
  89. tools:layout_editor_absoluteY="116dp" />
  90. <Spinner
  91. android:id="@+id/spinner_p1"
  92. android:spinnerMode="dialog"
  93. android:entries="@array/value"
  94. android:layout_width="84dp"
  95. android:layout_height="41dp"
  96. android:layout_marginStart="7dp"
  97. android:layout_marginTop="16dp"
  98. android:layout_toEndOf="@+id/textView_fname_p1"
  99. android:backgroundTint="#000000"
  100. app:layout_constraintStart_toStartOf="parent"
  101. app:layout_constraintTop_toTopOf="parent" />
  102. <Spinner
  103. android:id="@+id/spinner_p2"
  104. android:layout_width="84dp"
  105. android:layout_height="41dp"
  106. android:layout_marginStart="7dp"
  107. android:layout_marginTop="64dp"
  108. android:layout_toEndOf="@+id/textView_fname_p2"
  109. android:backgroundTint="#000000"
  110. app:layout_constraintStart_toStartOf="parent"
  111. app:layout_constraintTop_toTopOf="parent" />
  112. </RelativeLayout>
  113. ```
  114. **values/order_value.xml**
  115. ```<?xml version="1.0" encoding="utf-8"?>
  116. <resources>
  117. <string-array name="value">
  118. <item>1</item>
  119. <item>2</item>
  120. <item>3</item>
  121. </string-array>
  122. </resources>

团队适配器.java

  1. public class TeamAdapter extends ArrayAdapter<Team> {
  2. // View lookup cache
  3. private static class ViewHolder {
  4. TextView name_p1;
  5. TextView name_p2;
  6. TextView name_p3;
  7. TextView fname_p1;
  8. TextView fname_p2;
  9. TextView fname_p3;
  10. TextView level;
  11. TextView id_team;
  12. }
  13. public TeamAdapter(Context context, ArrayList<Team> t) {
  14. super(context, R.layout.item_team, t);
  15. }
  16. @Override
  17. public View getView(int position, View convertView, ViewGroup parent) {
  18. // Get the data item for this position
  19. Team t = getItem(position);
  20. // Check if an existing view is being reused, otherwise inflate the view
  21. ViewHolder viewHolder; // view lookup cache stored in tag
  22. if (convertView == null) {
  23. // If there's no view to re-use, inflate a brand new view for row
  24. viewHolder = new ViewHolder();
  25. LayoutInflater inflater = LayoutInflater.from(getContext());
  26. convertView = inflater.inflate(R.layout.item_team, parent, false);
  27. viewHolder.name_p1 = (TextView) convertView.findViewById(R.id.textView_name_p1);
  28. viewHolder.name_p2 = (TextView) convertView.findViewById(R.id.textView_name_p2);
  29. viewHolder.name_p3 = (TextView) convertView.findViewById(R.id.textView_name_p3);
  30. viewHolder.fname_p1 = (TextView) convertView.findViewById(R.id.textView_fname_p1);
  31. viewHolder.fname_p2 = (TextView) convertView.findViewById(R.id.textView_fname_p2);
  32. viewHolder.fname_p3 = (TextView) convertView.findViewById(R.id.textView_fname_p3);
  33. viewHolder.level = (TextView) convertView.findViewById(R.id.textView_nb_lvl);
  34. viewHolder.id_team = (TextView) convertView.findViewById(R.id.textView_id_team);
  35. // Cache the viewHolder object inside the fresh view
  36. convertView.setTag(viewHolder);
  37. } else {
  38. // View is being recycled, retrieve the viewHolder object from tag
  39. viewHolder = (ViewHolder) convertView.getTag();
  40. }
  41. // Populate the data from the data object via the viewHolder object
  42. // into the template view.
  43. viewHolder.name_p1.setText(t.getParticipants().get(0).getName());
  44. viewHolder.name_p2.setText(t.getParticipants().get(1).getName());
  45. viewHolder.name_p3.setText(t.getParticipants().get(2).getName());
  46. viewHolder.fname_p1.setText(t.getParticipants().get(0).getFirstName());
  47. viewHolder.fname_p2.setText(t.getParticipants().get(1).getFirstName());
  48. viewHolder.fname_p3.setText(t.getParticipants().get(2).getFirstName());
  49. viewHolder.level.setText(String.valueOf(t.getLevel()));
  50. viewHolder.id_team.setText(String.valueOf(t.getId()));
  51. // Return the completed view to render on screen
  52. return convertView;
  53. }
  54. }

项目\u team.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <TextView
  7. android:id="@+id/textView_name_p1"
  8. android:layout_width="237dp"
  9. android:layout_height="wrap_content"
  10. android:layout_alignParentStart="true"
  11. android:layout_alignParentTop="true"
  12. android:layout_marginStart="206dp"
  13. android:layout_marginTop="7dp"
  14. android:text="TextView"
  15. android:textSize="30sp" />
  16. <TextView
  17. android:id="@+id/textView_name_p2"
  18. android:layout_width="237dp"
  19. android:layout_height="wrap_content"
  20. android:layout_alignParentStart="true"
  21. android:layout_alignParentTop="true"
  22. android:layout_marginStart="206dp"
  23. android:layout_marginTop="52dp"
  24. android:text="TextView"
  25. android:textSize="30sp" />
  26. <TextView
  27. android:id="@+id/textView_name_p3"
  28. android:layout_width="237dp"
  29. android:layout_height="wrap_content"
  30. android:layout_alignParentStart="true"
  31. android:layout_alignParentTop="true"
  32. android:layout_marginStart="206dp"
  33. android:layout_marginTop="97dp"
  34. android:text="TextView"
  35. android:textSize="30sp" />
  36. <TextView
  37. android:id="@+id/textView_fname_p1"
  38. android:layout_width="250dp"
  39. android:layout_height="wrap_content"
  40. android:layout_alignParentStart="true"
  41. android:layout_alignParentTop="true"
  42. android:layout_centerHorizontal="true"
  43. android:layout_marginStart="461dp"
  44. android:layout_marginTop="7dp"
  45. android:text="TextView"
  46. android:textSize="30sp" />
  47. <TextView
  48. android:id="@+id/textView_fname_p2"
  49. android:layout_width="251dp"
  50. android:layout_height="wrap_content"
  51. android:layout_alignParentStart="true"
  52. android:layout_alignParentTop="true"
  53. android:layout_marginStart="461dp"
  54. android:layout_marginTop="52dp"
  55. android:text="TextView"
  56. android:textSize="30sp" />
  57. <TextView
  58. android:id="@+id/textView_fname_p3"
  59. android:layout_width="252dp"
  60. android:layout_height="wrap_content"
  61. android:layout_alignParentStart="true"
  62. android:layout_alignParentTop="true"
  63. android:layout_marginStart="461dp"
  64. android:layout_marginTop="97dp"
  65. android:text="TextView"
  66. android:textSize="30sp" />
  67. <ImageView
  68. android:id="@+id/imageViewP1"
  69. android:layout_width="wrap_content"
  70. android:layout_height="wrap_content"
  71. android:layout_alignParentStart="true"
  72. android:layout_alignParentTop="true"
  73. android:layout_marginStart="728dp"
  74. android:layout_marginTop="11dp"
  75. android:src="@drawable/pf" />
  76. <ImageView
  77. android:id="@+id/imageViewP2"
  78. android:layout_width="wrap_content"
  79. android:layout_height="wrap_content"
  80. android:layout_alignParentStart="true"
  81. android:layout_alignParentTop="true"
  82. android:layout_marginStart="730dp"
  83. android:layout_marginTop="55dp"
  84. android:src="@drawable/ps" />
  85. <ImageView
  86. android:id="@+id/imageViewP3"
  87. android:layout_width="wrap_content"
  88. android:layout_height="wrap_content"
  89. android:layout_alignParentStart="true"
  90. android:layout_alignParentTop="true"
  91. android:layout_marginStart="728dp"
  92. android:layout_marginTop="101dp"
  93. android:src="@drawable/pt" />
  94. <TextView
  95. android:id="@+id/textView_lvl_team"
  96. android:layout_width="wrap_content"
  97. android:layout_height="wrap_content"
  98. android:layout_alignParentStart="true"
  99. android:layout_alignParentTop="true"
  100. android:layout_marginStart="36dp"
  101. android:layout_marginTop="6dp"
  102. android:text="Niveau :"
  103. android:textSize="30sp" />
  104. <TextView
  105. android:id="@+id/textView_nb_lvl"
  106. android:layout_width="wrap_content"
  107. android:layout_height="wrap_content"
  108. android:layout_alignParentStart="true"
  109. android:layout_alignParentTop="true"
  110. android:layout_marginStart="153dp"
  111. android:layout_marginTop="7dp"
  112. android:textSize="30sp" />
  113. <TextView
  114. android:id="@+id/textView_id_team"
  115. android:layout_width="wrap_content"
  116. android:layout_height="wrap_content"
  117. android:layout_alignParentStart="true"
  118. android:layout_alignParentTop="true"
  119. android:layout_marginStart="4dp"
  120. android:layout_marginTop="12dp"
  121. android:textSize="20sp" />
  122. </RelativeLayout>

团队.java

  1. public class Team {
  2. private ArrayList<Participant> _team;
  3. private int _level;
  4. private int _id;
  5. /*Builder*/
  6. public Team(int id,ArrayList<Participant>team, int lvl){
  7. this._team = team;
  8. this._level=lvl;
  9. this._id=id;
  10. }
  11. public Team(int id,Participant p1, Participant p2,Participant p3,int lvl){
  12. ArrayList<Participant> team = new ArrayList<Participant>();
  13. team .add(p1);
  14. team.add(p2);
  15. team.add(p3);
  16. this._team = team;
  17. this._level=lvl;
  18. this._id=id;
  19. }
  20. public Team(int id,Participant p1, Participant p2,Participant p3){
  21. ArrayList<Participant> team = new ArrayList<Participant>();
  22. team.add(p1);
  23. team.add(p2);
  24. team.add(p3);
  25. this._team = team;
  26. this._level=p1.getLevel()+p2.getLevel()+p3.getLevel();
  27. this._id=id;
  28. }
  29. /*Getter & Setter*/
  30. public void setParticipants(ArrayList<Participant> team){
  31. this._team=team;
  32. }
  33. public void setParticipants(Participant p1, Participant p2,Participant p3){
  34. ArrayList<Participant> team = new ArrayList<Participant>();
  35. team .add(p1);
  36. team.add(p2);
  37. team.add(p3);
  38. this._team = team;
  39. }
  40. public ArrayList<Participant> getParticipants(){
  41. return _team;
  42. }
  43. public void setLevel(int lvl){
  44. this._level=lvl;
  45. }
  46. public int getLevel(){
  47. return _level;
  48. }
  49. public void setId(int id){
  50. this._id=id;
  51. }
  52. public int getId(){
  53. return _id;
  54. }
  55. }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题