У меня проблема, когда я пытаюсь создать простой ListView. Вот что я хочу: просто действие с 1 ListView с текстом внутри (и кнопками на следующих шагах) И рядом с 1 (или более) кнопкой.
Итак, в моем XML у меня есть ListView, TextView (тот, который находится внутри дочерних элементов ListView, и кнопка (та, которую я не хочу внутри моего ListView). Когда я обедаю свое приложение, у меня есть все представления моей активности в моем listView ... И я не знаю, где мне это делать.
Вот мой код: Моя деятельность:
ListView listView = findViewById(R.id.MainListDecks);
AdapterDeck adpDeck;
ArrayList<Deck> myDecks = new ArrayList<>();
for (int i = 0; i<5;i++){
myDecks.add(new Deck("Deck " + i));
}
adpDeck = new AdapterDeck(this, 0, myDecks);
listView.setAdapter(adpDeck);
Мой адаптер:
public AdapterDeck(@NonNull Context context, int resource, @NonNull
ArrayList<Deck> decks) {
super(context, resource, decks);
this.decks = decks;
this.context = context;
}
@Override
public View getView(final int position, View convertView, ViewGroup
parent) {
View view = convertView;
if (view == null) {
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.activity_main, null);
}
TextView listItemText = view.findViewById(R.id.MainDeckNom);
listItemText.setText(decks.get(position).getNom())
return view;
}
Мой XML:
<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "@color/Background"
tools:context = "activities.MainMenu">
<ListView
android:id = "@+id/MainListDecks"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content" />
<TextView
android:id = "@+id/MainDeckNom"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content" />
<Button
android:id = "@+id/button2"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_alignParentEnd = "true"
android:layout_alignParentBottom = "true"
android:layout_marginEnd = "20dp"
android:layout_marginBottom = "22dp"
android:text = "Button" />
</RelativeLayout>
Результат: результат я получил и не хочу
Спасибо всем, кто может помочь!
Ваше здоровье
Не могли бы вы подробнее рассказать, что именно вы хотите? также поделитесь классом AdapterDeck
Спасибо за ответы. OK. Мне нужно действие со списком и кнопкой. В моем списке мне нужен TextView (конечно, для всех детей). Мой список со всеми именами моего объекта и рядом с кнопкой. В тот момент, когда я пытаюсь добавить представление в свою деятельность, кажется, что оно добавлено внутри списка (или список использует его, если вы предпочитаете)
Пожалуйста, не повторяйте вопросы. Простое редактирование этого сообщения с любой новой информацией, которая у вас была, любым новым кодом, который вы пробовали, или объяснением того, почему какие-либо опубликованные ответы не работали, переместило бы его в начало активной очереди. Я закрыл это как дубликат более нового, так как больше пользователей ответили там (правильно), но в будущем, пожалуйста, просто отредактируйте оригинал.
OK ! Я понял спасибо
Это не в вашего ListView, это выше.
Ваш корневой макет - это RelativeLayout. RelativeLayout позволяет дочерним элементам перекрываться. Если вам нужен ListView с кнопкой в правом нижнем углу и (я предполагаю) некоторым текстом внизу, вы должны использовать LinearLayout и FrameLayout.
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "@color/Background"
android:orientation = "vertical"
tools:context = "activities.MainMenu">
<ListView
android:id = "@+id/MainListDecks"
android:layout_width = "wrap_content"
android:layout_height = "match_parent"
android:layout_weight = "1"
/>
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content">
<TextView
android:id = "@+id/MainDeckNom"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "center"
/>
<Button
android:id = "@+id/button2"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginEnd = "20dp"
android:layout_marginBottom = "22dp"
android:text = "Button"
android:layout_gravity = "center_vertical|end"
/>
</FrameLayout>
</LinearLayout>
Спасибо за ответ ! Я ценю и мне это помогло! Но мне нужен TextView в моем списке. С вашим решением у меня есть пустой ListView (или есть что-то, чего я не понимаю?) Без FrameLayout мой ListView использует мои TextView и Button для создания себя (не знаю, как его точно определить, но вот как Я понимаю) Мне нужен мой список, чтобы использовать только текст; Спасибо еще раз !
Каким должен быть ваш xml?