0

こんにちは、プログラミング初心者です。私の限られた知識で、Androidプロジェクトで水平ビューのスワイプを取得するのに本当に苦労しています。ViewPager チュートリアルをダウンロードし、コードをプロジェクトに実装しましたが、うまく機能しますが、いくつかのテキスト番号 (1、2、3、4 など) しか表示されません。数字だけでなく、スワイプ画像(おそらくテキスト付き)を水平方向に表示できるようにしたいと思います。私は本当にイライラしています。他の ViewPager チュートリアルのコードを組み合わせてみましたが、常にクラッシュし、理解できないエラーが発生します。画像とテキストを水平方向にスワイプできるように、このコードに簡単な変更を加えることはできますか? ありがとう。

主な活動

package com.project.viewswipingtest;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;

public class Page5 extends FragmentActivity {
MyPageAdapter pageAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pg5);

    List<Fragment> fragments = getFragments();

    pageAdapter = new MyPageAdapter(getSupportFragmentManager(), fragments);

    ViewPager pager = (ViewPager)findViewById(R.id.viewpager);
    pager.setAdapter(pageAdapter);

}

private List<Fragment> getFragments(){
    List<Fragment> fList = new ArrayList<Fragment>();

    fList.add(MyFragment.newInstance("Fragment 1"));
    fList.add(MyFragment.newInstance("Fragment 2"));
    fList.add(MyFragment.newInstance("Fragment 3"));
    fList.add(MyFragment.newInstance("Fragment 4"));

    return fList;
}

private class MyPageAdapter extends FragmentPagerAdapter {
    private List<Fragment> fragments;

    public MyPageAdapter(FragmentManager fm, List<Fragment> fragments) {
        super(fm);
        this.fragments = fragments;
    }
    @Override
    public Fragment getItem(int position) {
        return this.fragments.get(position);
    }

    @Override
    public int getCount() {
        return this.fragments.size();
    }
}
}    

フラグメント クラス

package com.project.viewswipingtest;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MyFragment extends Fragment {
public static final String EXTRA_MESSAGE = "EXTRA_MESSAGE";

public static final MyFragment newInstance(String message)
{
    MyFragment f = new MyFragment();
    Bundle bdl = new Bundle(1);
    bdl.putString(EXTRA_MESSAGE, message);
    f.setArguments(bdl);
    return f;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) {
    String message = getArguments().getString(EXTRA_MESSAGE);
    View v = inflater.inflate(R.layout.myfragment_layout, container, false);
    TextView messageTextView = (TextView)v.findViewById(R.id.textView);
    messageTextView.setText(message);

    return v;
}

}

ViewPager XML

<?xml version="1.0" encoding="utf-8"?>
<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="match_parent" >

<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />

</RelativeLayout>

フラグメント XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>
4

1 に答える 1

0

Fragment XML追加し<ImageView>ます。次に、 でFragment Class.onCreateView()load anyBitmapを設定できます。

于 2013-05-13T16:37:56.540 に答える