将按钮添加到 xml 文件时,使用自定义适配器的 ListView 会被覆盖

亚当

我试图显示一个项目列表(每个条目包含 3 个文本视图),然后是一些按钮,这些按钮将在单击时切换到其他活动,其中存在类似的设置。虽然 ListView 在不涉及按钮时完美填充,但一旦我尝试添加按钮,它就会消失。我认为这可能与我将 music_list.xml 文件设置为专门用于列表有关,但是从其他来源来看,应该可以有一个 ListView 后跟其他视图。当前文本按钮不执行任何操作;在写出任何逻辑之前,我试图让它与 ListView 一起显示。

我的 music_list.xml 文件,其中有一个列表和按钮:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_height="fill_parent">

<ListView
    android:id="@+id/music_list"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_alignParentTop="true"
    android:layout_weight="1.0"/>


<LinearLayout
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:gravity="bottom|center_horizontal"
    android:layout_alignParentBottom="true"
    android:layout_height="match_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="24dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_weight="0"
        android:text="Test 1"
        android:layout_marginTop="32dp"
        />
</LinearLayout>

我的 music_item 文件,其中包含用于填充列表的 3 个 TextView;

<?xml version="1.0" encoding="utf-8"?>
<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">


<TextView
    android:id="@+id/artist_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="16dp"
    android:layout_weight="1"
    android:gravity="left"
    tools:text="lutti" />

<TextView
    android:id="@+id/title_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="16dp"
    android:layout_weight="1"
    android:gravity="center"
    tools:text="one" />

<TextView
    android:id="@+id/album_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:layout_marginTop="16dp"
    android:layout_weight="1"
    android:gravity="right"
    tools:text="one" />

</LinearLayout>

以及活动页面的当前逻辑,它填充列表但尚未对位于其下方的按钮执行任何操作:

package com.example.android.musicapp;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ListView;

import java.util.ArrayList;

/**
 * Created by ~ Adam ~ on 1/2/2018.
 */

public class MyMusicActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.music_list);


        ArrayList<Music> music = new ArrayList<Music>();

        music.add(new Music("The Who", "Won't Get Fooled Again", "Who's Next"));
        music.add(new Music("A Great Big World", "There's an Answer", "Is there Anybody Out There?"));
        music.add(new Music("James Blake", "Retrograde", "Overgrown"));
        music.add(new Music("Chopin", "Ballade No.3 in A Flat, Op.47", "Chopin: Ballades"));
        music.add(new Music("Kendrick Lamar", "Loyalty (Feat. Rihanna)", "DAMN."));
        music.add(new Music("Schel", "When the Dragon Came Down", "Schel"));
        music.add(new Music("Man man", "Loot My Body", "On Oni Pond"));
        music.add(new Music("Sarah Jarosz", "Dark Road", "Build Me Up From Bones"));
        music.add(new Music("Jimmy Buffett", "Come Monday", "Songs You Know By Heart"));

        MusicAdapter adapter = new MusicAdapter(this, music);
        ListView listView = (ListView) findViewById(R.id.music_list);
        listView.setAdapter(adapter);
    }
}
乌麦尔

当您添加buttons第一个layout布局时,该布局会将您listview layout推向左侧,这就是为什么您无法看到您的list. 尝试使用relativeLayoutlinearLayout正确放置我已经使用过RelativeLayout,现在工作正常:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="vertical"
android:layout_height="fill_parent">

<ListView
    android:id="@+id/music_list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" />


<RelativeLayout
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:gravity="bottom|center_horizontal"
    android:layout_alignParentBottom="true"
    android:layout_height="wrap_content">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="24dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:text="Test 1"
        android:layout_marginTop="32dp"
        />
</RelativeLayout>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将项目动态添加到ListView的自定义适配器

来自分类Dev

使用自定义适配器将数据添加到Listview运行时中

来自分类Dev

单击按钮时从自定义适配器刷新 ListView

来自分类Dev

使用适配器将LinearLayout添加到ListView

来自分类Dev

如何使用自定义适配器将项目自动加载到ListView中

来自分类Dev

具有自定义适配器的Listview覆盖我帖子中的数据

来自分类Dev

如何为随机自定义ListView适配器设置按钮单击事件?

来自分类Dev

通过自定义适配器在Listview的ImageView中动态添加图像

来自分类Dev

将值从MainActivity传递到自定义listview适配器类

来自分类Dev

ListView的自定义适配器

来自分类Dev

自定义ListView的适配器

来自分类Dev

使用自定义适配器过滤ListView

来自分类Dev

使用自定义适配器从listview搜索项目

来自分类Dev

使用自定义适配器未显示ListView

来自分类Dev

使用自定义适配器时如何从Android中的ListView获取数据

来自分类Dev

回到活动中时,使用自定义基本适配器更新Listview吗?

来自分类Dev

将arraylist添加到自定义listview

来自分类Dev

使用外部XML文件进行自定义列表视图适配器?

来自分类Dev

setOnClickListener不使用自定义适配器和自定义ListView触发

来自分类Dev

使用自定义适配器的ListView中的自定义行

来自分类Dev

无法将JSON中的新数据添加到Android中的Listview适配器

来自分类Dev

将listview适配器添加到Fragment的布局中

来自分类Dev

ListView /自定义数组适配器-调用getView时适配器设置为null

来自分类Dev

当我按下按钮时试图将内容添加到Listview

来自分类Dev

从ArrayList动态将textviews添加到自定义适配器

来自分类Dev

如何将两个textViews添加到自定义适配器?

来自分类Dev

使用适用于Android应用的自定义适配器将项目动态添加到列表视图

来自分类Dev

将列表添加到列表时,列表元素将被覆盖

来自分类Dev

ListView自定义适配器丢失imageView

Related 相关文章

  1. 1

    如何将项目动态添加到ListView的自定义适配器

  2. 2

    使用自定义适配器将数据添加到Listview运行时中

  3. 3

    单击按钮时从自定义适配器刷新 ListView

  4. 4

    使用适配器将LinearLayout添加到ListView

  5. 5

    如何使用自定义适配器将项目自动加载到ListView中

  6. 6

    具有自定义适配器的Listview覆盖我帖子中的数据

  7. 7

    如何为随机自定义ListView适配器设置按钮单击事件?

  8. 8

    通过自定义适配器在Listview的ImageView中动态添加图像

  9. 9

    将值从MainActivity传递到自定义listview适配器类

  10. 10

    ListView的自定义适配器

  11. 11

    自定义ListView的适配器

  12. 12

    使用自定义适配器过滤ListView

  13. 13

    使用自定义适配器从listview搜索项目

  14. 14

    使用自定义适配器未显示ListView

  15. 15

    使用自定义适配器时如何从Android中的ListView获取数据

  16. 16

    回到活动中时,使用自定义基本适配器更新Listview吗?

  17. 17

    将arraylist添加到自定义listview

  18. 18

    使用外部XML文件进行自定义列表视图适配器?

  19. 19

    setOnClickListener不使用自定义适配器和自定义ListView触发

  20. 20

    使用自定义适配器的ListView中的自定义行

  21. 21

    无法将JSON中的新数据添加到Android中的Listview适配器

  22. 22

    将listview适配器添加到Fragment的布局中

  23. 23

    ListView /自定义数组适配器-调用getView时适配器设置为null

  24. 24

    当我按下按钮时试图将内容添加到Listview

  25. 25

    从ArrayList动态将textviews添加到自定义适配器

  26. 26

    如何将两个textViews添加到自定义适配器?

  27. 27

    使用适用于Android应用的自定义适配器将项目动态添加到列表视图

  28. 28

    将列表添加到列表时,列表元素将被覆盖

  29. 29

    ListView自定义适配器丢失imageView

热门标签

归档