Android将ArrayList填充到多个TextView中

Android将ArrayList填充到多个TextView中,android,arraylist,layout-inflater,Android,Arraylist,Layout Inflater,在任何评论之前,是的,我已经阅读了关于这一点的几个问题: 问题是我目前的活动正在扩展YouTube活动。到目前为止,这是当前活动的样子: public class MovieDetailsActivity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener, OnEditorActionListener { *** SOME INITIALIZATION GOES HERE *** @

在任何评论之前,是的,我已经阅读了关于这一点的几个问题:

问题是我目前的活动正在扩展YouTube活动。到目前为止,这是当前活动的样子:

public class MovieDetailsActivity extends YouTubeBaseActivity  
implements YouTubePlayer.OnInitializedListener, OnEditorActionListener
{
*** SOME INITIALIZATION GOES HERE ***
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.movie_details);

    movieDetails = (Movie) getIntent().getSerializableExtra("details");
    youtubeVideo = movieDetails.trailer;
    castList = movieDetails.castList;

    findAllViewsById();

    detailsTitleMovie.setText(movieDetails.originalName);
    detailsRatingMovie.setText(movieDetails.rating);
    detailsReleaseMovie.setText(movieDetails.released);
    detailsRuntimeMovie.setText(movieDetails.runtime);
    detailsSynopsisMovie.setText(movieDetails.overview);

            *** OBVIOUSLY I NEED TO USE SOME SORT OF ITERATOR HERE ***
            *** CASTLIST IS AN ARRAYLIST OF AN OBJECT ***

    person = castList.get(0);
    detailsFullnameCast.setText(person.castFullName);

            *** END OF PROBLEM ***

    String posterUrl = movieDetails.retrieveThumbnail();
    if(posterUrl != null)
    {
        Bitmap bitmap = fetchBitmapFromCache(posterUrl);
        if(bitmap == null)
        {
            new BitmapDownloaderTask(moviePoster).execute(posterUrl);
        }else{
            moviePoster.setImageBitmap(bitmap);
        }
    }else{
        moviePoster.setImageBitmap(null);
    }

    if(youtubeVideo != null)
    {
        youtubePlayerView.initialize(YOUTUBE_API_KEY, this);
    }else{
        longToast("Aw... snapp....!");
    }

    /* BUTTON LISTENER */
    cineplexButton.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            visitCinemaPage(CINEMA_TYPE_CINE);
        }
    });

    blitzButton.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            visitCinemaPage(CINEMA_TYPE_BLI);
        }
    });

    imdbButton.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            visitImdbMoviePage(movieDetails.imdbId);
        }
    });

    //et = (EditText) findViewById(R.id.eturl);
    //et.setOnEditorActionListener(this);
}
*** REST OF THE CODE OMITTED ***
然而,我想这样做:

public class MovieDetailsAdapter extends ArrayAdapter<Movie>{

    private ArrayList<Movie> movieDataItems;
    private Activity context;

    public MovieDetailsAdapter(Activity context, int textViewResourceId, ArrayList<Movie> movieDataItems) {
        super(context, textViewResourceId, movieDataItems);
        // TODO Auto-generated constructor stub

        this.context = context;
        this.movieDataItems = movieDataItems;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        View view = convertView;

        if(view == null)
        {
            LayoutInflater vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = vi.inflate(layout.movie_details, null);
        }

        Movie movie = movieDataItems.get(position);
        if(movie != null)
        {
            TextView titleTextView = (TextView) view.findViewById(R.id.detail_title_text_view);
            titleTextView.setText(movie.originalName);

            *** AND SO ON ***
        }
        return view;
    }
}
公共类MovieDetailsAdapter扩展了ArrayAdapter{
私有ArrayList movieDataItems;
私人活动语境;
公共MovieDetailsAdapter(活动上下文、int textViewResourceId、ArrayList movieDataItems){
超级(上下文、textViewResourceId、movieDataItems);
//TODO自动生成的构造函数存根
this.context=上下文;
this.movieDataItems=movieDataItems;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图)
{
视图=转换视图;
如果(视图==null)
{
LayoutInflater vi=(LayoutInflater)context.getSystemService(context.LAYOUT\u INFLATER\u SERVICE);
视图=vi.充气(layout.movie\u详细信息,空);
}
Movie Movie=movieDataItems.get(位置);
如果(电影!=null)
{
TextView titleTextView=(TextView)view.findViewById(R.id.detail\u title\u text\u view);
titleTextView.setText(movie.originalName);
***等等***
}
返回视图;
}
}
稍后,上面的类将从我的活动类调用

这是我的活动布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:isScrollContainer="true" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"

        android:gravity="fill_horizontal"
        android:orientation="vertical" >

        <com.google.android.youtube.player.YouTubePlayerView
            android:id="@+id/youtubeplayer"
            android:layout_width="fill_parent"
            android:layout_height="210dp" >
        </com.google.android.youtube.player.YouTubePlayerView>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="top|bottom" >

            <ImageView
                android:id="@+id/detail_thumb_icon"
                android:layout_width="80dip"
                android:layout_height="80dip"
                android:layout_marginRight="5dip"
                android:layout_marginTop="5dip"
                android:src="@drawable/ic_launcher" />

            *** SOME TEXT VIEWS ***
        </RelativeLayout>

        *** MORE TEXT VIEWS ***

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="?android:attr/listPreferredItemHeight"
            android:padding="6dip">

            <ImageView
                android:id="@+id/detail_person_thumb_icon"
                android:layout_width="80dip"
                android:layout_height="fill_parent"
                android:layout_marginRight="6dip"/>

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="0dip"
                android:layout_weight="1"
                android:layout_height="fill_parent">

*** THIS IS WHERE I WANT THE CONTENT FROM ARRAYLIST TO BE POPULATED INTO TEXT VIEW ***

            </LinearLayout>
        </LinearLayout>

        <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="top|bottom" >

            <TextView
            android:id="@+id/text_check_cinema"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginRight="14dp"
            android:layout_marginLeft="5dp"
            android:textSize="20sp"
            android:textStyle="bold"
            android:text="Check on Cinema" />

            <View
                android:id="@+id/view_horizontal_line"
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:layout_below="@+id/text_check_cinema"
                android:layout_alignParentRight="true"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:background="#000000" />

            <Button
                android:id="@+id/button_cineplex"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:layout_alignParentLeft="true"
                android:layout_below="@+id/view_horizontal_line"
                android:text="@string/button_visit_cineplex" />
            <Button
                android:id="@+id/button_imdb"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:layout_below="@+id/view_horizontal_line"
                android:layout_toRightOf="@+id/button_blitz"
                android:text="@string/button_visit_imdb" />
            <Button
                android:id="@+id/button_blitz"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:layout_below="@+id/view_horizontal_line"
                android:layout_toRightOf="@+id/button_cineplex"
                android:text="@string/button_visit_blitz" />
        </RelativeLayout>
    </LinearLayout>
</ScrollView>

***一些文本视图***
***更多文本视图***
***这就是我希望将ARRAYLIST中的内容填充到文本视图中的地方***
因此,基本上,我要问的是如何将包含对象列表的数组列表填充到活动中,同时在同一时间扩展YoutubeActivity


感谢您的帮助……

您有一个需要填充的对象数组?listview会发生什么?为什么没有列表视图呢?因为我需要保留布局,在线性布局的左侧应该有一个图像,在线性布局的右侧应该有一堆文本视图。