如何使用Android Studio动态创建项目数列表

如何使用Android Studio动态创建项目数列表,android,listview,Android,Listview,我使用以下示例创建了列表: 我想有一个即将上映的电影列表,所以我需要一个动态项目数的列表。我不明白,也不知道该怎么做 这是一个项目列表的代码: public class FragmentOne extends Fragment { TextView textView; TextView textView2; ImageView imageView; public static FragmentOne newInstance() { Fragme

我使用以下示例创建了列表:

我想有一个即将上映的电影列表,所以我需要一个动态项目数的列表。我不明白,也不知道该怎么做

这是一个项目列表的代码:

public class FragmentOne extends Fragment {

    TextView textView;
    TextView textView2;
    ImageView imageView;

    public static FragmentOne newInstance() {
        FragmentOne fragment = new FragmentOne();
        return fragment;
    }

    public class MovieTask extends AsyncTask<Void, Void, MovieDb>{
        @Override
        protected MovieDb doInBackground(Void... voids) {
            TmdbMovies movies = new TmdbApi("my_api_key").getMovies();
            MovieDb movie = movies.getMovie(5335, "en");

            return movie;
        }

        @Override
        protected void onPostExecute(MovieDb movieDb) {
            textView.setText(movieDb.getOriginalTitle());
            textView2.setText(movieDb.getReleaseDate());
            Glide.with(imageView).load("https://image.tmdb.org/t/p/w500" + movieDb.getPosterPath()).into(imageView);
        }
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        MovieTask mt = new MovieTask();
        mt.execute();
        super.onCreate(savedInstanceState);
    }
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View returnView = inflater.inflate(R.layout.fragment_one, container, false);
        textView = (TextView) returnView.findViewById(R.id.text);
        textView2 = (TextView) returnView.findViewById(R.id.text2);
        imageView = (ImageView) returnView.findViewById(R.id.list_icon);


        return returnView;
    }
}
公共类FragmentOne扩展了Fragment{
文本视图文本视图;
文本视图文本视图2;
图像视图图像视图;
公共静态碎片一个新实例(){
FragmentOne片段=新FragmentOne();
返回片段;
}
公共类MovieTask扩展了异步任务{
@凌驾
受保护电影数据库后台(无效…无效){
TmdbMovies movies=newtmdbapi(“my_api_key”).getMovies();
MovieDb movie=movies.getMovie(5335,“en”);
回归电影;
}
@凌驾
受保护的void onPostExecute(MovieDb MovieDb){
textView.setText(movieDb.getoriginaltle());
textView2.setText(movieDb.getReleaseDate());
使用(图像视图)滑动。加载(“https://image.tmdb.org/t/p/w500“+movieDb.getPosterPath()).into(imageView);
}
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
MovieTask mt=新的MovieTask();
mt.execute();
super.onCreate(savedInstanceState);
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图返回视图=充气机。充气(R.layout.fragment\u one,容器,错误);
textView=(textView)returnView.findViewById(R.id.text);
textView2=(TextView)returnView.findViewById(R.id.text2);
imageView=(imageView)returnView.findViewById(R.id.list_图标);
返回视图;
}
}
以及该类的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="72dp"
    tools:context=".FragmentOne">

    <ImageView
        android:id="@+id/list_icon"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_margin="16dp" />

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:layout_toRightOf="@+id/list_icon"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true">

        <TextView
            android:id="@+id/text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingRight="16dp" />

        <TextView
            android:id="@+id/text2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingRight="16dp" />

    </LinearLayout>

</RelativeLayout>

我个人建议您使用Recyclerview和cardview来完成这项工作。如果您不熟悉Recyclerview,则需要为其创建适配器类

请查看此链接-

是否有可能对我的列表执行我想要的操作?我有5个项目,我想有5个项目的列表,但我可以有例如7个项目,我不想改变我的列表大小的按钮,它必须自动做。这甚至是可能的?是的,这绝对是可能的。希望你检查了我上面提到的链接。您需要创建一个只有一个cardview的布局。只需在该卡片视图中添加文本视图或任何您想要的内容。现在,您的recyclerview适配器将根据要存储和作为阵列提供的数据数量,在recyclerview布局上显示多个CardView。好的,我试试这个。还有一个问题。这会在碎片内部起作用吗?是的。你将不得不做一些改变,你很好去。只需搜索有关recyclerview和CardView的更多信息,您确定!你可以问,没有清单。没有适配器。你发布了不相关的代码。