listView中的Android Marquee文本带有多个项目



任何人都可以帮助我使用Marquee Text在列表视图中水平滚动文本视图。当我在ListView中使用相同的概念时,我在简单的TextView中使用了Marquee Text的工作正常工作,请帮助我。谢谢
这是我的XML单一列表项目文件

<br><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:padding="15dp"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="340dp"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:gravity="center_vertical"
        android:id="@+id/list_text"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:textColor="#cc0000"
        android:singleLine="true" />
</LinearLayout>


这是我的Java文件

LayoutInflater inflater =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View child = inflater.inflate(R.layout.list_item, null);<br>
            TextView text=(TextView)child.findViewById(R.id.list_text);<br>
            text.setSelected(true);<br>
            arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.list_item,R.id.list_text, s);<br>
            listView.setAdapter(arrayAdapter);

在您的代码中,您的视图是相同类型的项目视图,但这不是项目视图。要修改项目视图,您需要覆盖适配器的getView((方法。尝试以下代码:

        arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.list_item, R.id.list_text, s){
            @NonNull
            @Override
            public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
                convertView = super.getView(position, convertView, parent);
                TextView tv = convertView.findViewById(R.id.list_text);
                tv.setSelected(true);
                return convertView;
            }
        };
        list.setAdapter(arrayAdapter);

最新更新