在Android中使用按钮单击在水平ListView中滚动ListView视图

在Android中使用按钮单击在水平ListView中滚动ListView视图,android,listview,horizontallist,Android,Listview,Horizontallist,我需要在单击当前显示的“”时滚动查看表单listview。 我还得到了一些代码,但当我使用它时,就会出现滚动整个listview。 我只需要滚动当前显示的视图 屏风 MainActivity.java 公共类MainActivity扩展活动{ 水平视图listViewMovie; 水平稳压器适配器; ArrayList电影; 按钮BTN左移,BTN右移; @凌驾 创建时受保护的void(Bundle savedInstanceState){ //TODO自动生成的方法存根 super.onCr

我需要在单击当前显示的“”时滚动查看表单listview。 我还得到了一些代码,但当我使用它时,就会出现滚动整个listview。 我只需要滚动当前显示的视图

屏风

MainActivity.java

公共类MainActivity扩展活动{
水平视图listViewMovie;
水平稳压器适配器;
ArrayList电影;
按钮BTN左移,BTN右移;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listViewMovie=(HorizontalListView)findViewById(R.id.hlvSimpleList);
btnmoveeft=(按钮)findViewById(R.id.btnmoveeft);
btnMoveRight=(按钮)findViewById(R.id.btnMoveRight);
btnmovileft.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
}
});
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
}
});
listMovie=新建ArrayList();
MovieListModel movieDetail=新的MovieListModel();
电影细节
.setImgLink(“http://imagine.inrialpes.fr/people/Damien.Rohmer/documents/publications/10_sigasia_wrinkle/thumbnail/thumbnail_movie.png");
movieDetail.setName(“电影”);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
添加(movieDetail);
adapter=new HorizontalListAdapter(MainActivity.this,listMovie);
listViewMovie.setAdapter(适配器);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
Toast.makeText(MainActivity.this,“Img:+arg2,
吐司。长度(短)。show();
}
});
}
}
水平列表视图适配器

公共类HorizontalListAdapter扩展了ArrayAdapter{
拉平机;
语境;
ArrayList电影;
public HorizontalListAdapter(上下文,
ArrayList(电影){
超级(上下文、右布局、水平列表、列表电影);
//TODO自动生成的构造函数存根
this.context=上下文;
this.listMovie=listMovie;
mInflater=(LayoutFlater)getContext().getSystemService(
上下文。布局(充气机和服务);
}
@SuppressLint(“视图持有者”)
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
视图rawView=mInflater.充气(右布局.水平列表列,父级,
假);
ImageView img=(ImageView)rawView.findviewbyd(R.id.imgColMovie);
TextView movieName=(TextView)rawView.findViewById(R.id.nameColMovie);
ImageLoader.getInstance().displayImage(
listMovie.get(position.getImgLink(),img,
DisplayImageOption.getDisplayImage(),
新的AnimateFirstDisplayListener());
movieName.setText(listMovie.get(position.getName().toString());
返回原始视图;
}
}
main.xml


public class MainActivity extends Activity {
HorizontalListView listViewMovie;
HorizontalListAdapter adapter;
ArrayList<MovieListModel> listMovie;
Button btnMoveLeft, btnMoveRight;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    listViewMovie = (HorizontalListView) findViewById(R.id.hlvSimpleList);
    btnMoveLeft = (Button) findViewById(R.id.btnMoveLeft);
    btnMoveRight = (Button) findViewById(R.id.btnMoveRight);

    btnMoveLeft.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });

    btnMoveRight.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });

    listMovie = new ArrayList<MovieListModel>();
    MovieListModel movieDetail = new MovieListModel();
    movieDetail
            .setImgLink("http://imagine.inrialpes.fr/people/Damien.Rohmer/documents/publications/10_sigasia_wrinkle/thumbnail/thumbnail_movie.png");
    movieDetail.setName("Movie");
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);
    listMovie.add(movieDetail);

    adapter = new HorizontalListAdapter(MainActivity.this, listMovie);
    listViewMovie.setAdapter(adapter);

    listViewMovie.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this, "Img:" + arg2,
                    Toast.LENGTH_SHORT).show();
        }
    });
  }
}
public class HorizontalListAdapter extends ArrayAdapter<MovieListModel> {
LayoutInflater mInflater;
Context context;
ArrayList<MovieListModel> listMovie;
public HorizontalListAdapter(Context context,
        ArrayList<MovieListModel> listMovie) {
    super(context, R.layout.horizontal_list_col, listMovie);
    // TODO Auto-generated constructor stub
    this.context = context;
    this.listMovie = listMovie;
    mInflater = (LayoutInflater) getContext().getSystemService(
            Context.LAYOUT_INFLATER_SERVICE);
}
@SuppressLint("ViewHolder")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View rawView = mInflater.inflate(R.layout.horizontal_list_col, parent,
            false);
    ImageView img = (ImageView) rawView.findViewById(R.id.imgColMovie);
    TextView movieName = (TextView) rawView.findViewById(R.id.nameColMovie);
    ImageLoader.getInstance().displayImage(
            listMovie.get(position).getImgLink(), img,
            DisplayImageOption.getDisplayImage(),
            new AnimateFirstDisplayListener());
    movieName.setText(listMovie.get(position).getName().toString());
    return rawView;
  }
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal" >

    <Button
        android:id="@+id/btnMoveLeft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="&lt;" />

    <Button
        android:id="@+id/btnMoveRight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=">" />
</LinearLayout>

<com.psk.cinemana.horizontallist.HorizontalListView
    android:id="@+id/hlvSimpleList"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:transcriptMode="alwaysScroll" />
</LinearLayout>