Добавить представления вне ListView

У меня проблема, когда я пытаюсь создать простой 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>

Результат: результат я получил и не хочу

Спасибо всем, кто может помочь!

Ваше здоровье

Каким должен быть ваш xml?

Ümañg ßürmån 29.10.2018 18:55

Не могли бы вы подробнее рассказать, что именно вы хотите? также поделитесь классом AdapterDeck

Krishna Sharma 29.10.2018 19:29

Спасибо за ответы. OK. Мне нужно действие со списком и кнопкой. В моем списке мне нужен TextView (конечно, для всех детей). Мой список со всеми именами моего объекта и рядом с кнопкой. В тот момент, когда я пытаюсь добавить представление в свою деятельность, кажется, что оно добавлено внутри списка (или список использует его, если вы предпочитаете)

R. SAM 29.10.2018 22:16

Пожалуйста, не повторяйте вопросы. Простое редактирование этого сообщения с любой новой информацией, которая у вас была, любым новым кодом, который вы пробовали, или объяснением того, почему какие-либо опубликованные ответы не работали, переместило бы его в начало активной очереди. Я закрыл это как дубликат более нового, так как больше пользователей ответили там (правильно), но в будущем, пожалуйста, просто отредактируйте оригинал.

Mike M. 03.11.2018 01:25

OK ! Я понял спасибо

R. SAM 03.11.2018 12:51
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
47
1

Ответы 1

Это не в вашего 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 для создания себя (не знаю, как его точно определить, но вот как Я понимаю) Мне нужен мой список, чтобы использовать только текст; Спасибо еще раз !

R. SAM 29.10.2018 20:27

Другие вопросы по теме