gpt4 book ai didi

java - 为什么 Listview 每次都会出现线性布局?

转载 作者:行者123 更新时间:2023-11-30 00:31:49 25 4
gpt4 key购买 nike

我正在 android studio 中创建一个 android 应用程序。我有一个 XML 文件 songlist.xml。有两种布局,一种是相对布局,另一种是线性布局,两者都在约束布局内。这是代码=>

   <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="#262626"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">


<RelativeLayout
android:layout_width="350dp"
android:layout_height="69dp"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">

<TextView
android:id="@+id/textView"
android:layout_width="368dp"
android:layout_height="64dp"
android:textColor="#ef66dd"
android:textSize="18dp"
android:text="TextView"
android:gravity="center_vertical"
android:scrollbars="horizontal"
android:maxLines="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.0" />
</RelativeLayout>

<LinearLayout
android:layout_width="333dp"
android:layout_height="102dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.666"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"
tools:layout_editor_absoluteY="409dp">

<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/default_icon" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>

好的.. TextView 由 java 动态附加以显示所有歌曲的列表,但主要问题是 ImageView 出现在每首歌曲之后,即如果列表中有 10 首歌曲,则图像(线性布局)是在歌曲下方显示 10 次。

java代码如下:-

final ArrayList<File> mySongs = findSongs(Environment.getExternalStorageDirectory());
items = new String[mySongs.size()];
for(int i=0; i<mySongs.size(); i++){

items[i] = mySongs.get(i).getName().toString().replace(".mp3","");

}

ArrayAdapter<String> adp = new ArrayAdapter<String>(getActivity(),R.layout.songllist,R.id.textView, items);
lv.setAdapter(adp);

这是我的应用程序在智能手机上的屏幕截图 App on Android

如您所见,LinearLayout 中的图像每次都随歌曲一起出现。我希望 LinearLayout 应该放在底部,而不是每次都显示这样的歌曲:- Desire Output

我已经尝试了很多方法,例如创建其他布局,然后将该布局包含在此布局中,但没有成功。如果有人知道问题出在哪里,请告诉我。

最佳答案

有一个描述整个屏幕的布局文件和一个仅描述一个列表元素的布局文件。您已将图像放入列表元素的布局文件中,因此该图像将按应有的方式出现在每个列表元素中。要仅显示一次图像,请将其放入包含列表的整个屏幕的布局中。

关于java - 为什么 Listview 每次都会出现线性布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44213500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com