0

この FragmentActivity は、スライダー (水平方向。ここでは 1 つのフラグメントのみが表示されます) に配置されるいくつかのフラグメントを作成します。

public class MainActivity2 extends FragmentActivity{

    private ViewPager mPager;
    private FragmentStatePagerAdapter mPagerAdapter;
    private Logger mLogger;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_container);

        mLogger = new Logger();
        mPager = (ViewPager)findViewById(R.id.pager);
        mPagerAdapter = new SliderAdapter(getSupportFragmentManager());
        mPager.setAdapter(mPagerAdapter);

    ... //goes on with activity, the adapter is set correctly..

Logger フラグメントは、この xml を拡張するビューを作成します。

    <TextView
        android:id="@+id/LoggerLoTitle"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:ems="10"
        android:layout_weight="2"
        android:gravity="center"
        android:textStyle="bold"
        android:textColor="#000033"
        android:textSize="16sp"
        android:text="@string/logger"
        android:layout_marginTop="30sp" />      
    <TextView
        android:id="@+id/numberOutput"
        android:textIsSelectable="true"
        android:layout_width="0dp"
        android:layout_weight="13"
        android:layout_height="fill_parent"
        android:gravity="top"
        android:freezesText="true"
        android:maxLines = "50"
        android:layout_marginLeft="22dp"
        android:scrollbars = "vertical"
        android:layout_marginTop="45sp"/>
    <Button
        android:background="#80FFFFFF"
        android:gravity="center"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="fill_parent"
        android:freezesText="true"
        android:scrollbars = "vertical"
        android:layout_marginTop="45sp"
        android:textColor="#000000"
        android:textStyle="bold"
        android:text="@string/logger_ad"
        android:onClick="whatsNew"/>  
</LinearLayout>

API 7 の場合、TextView の「numberOutput」がスクロールせず、選択できないことを除いて、すべて正常に動作します (すべてのフラグメントが読み込まれ、スライダーが動作します)。API 15、16、17 の場合は問題ありません。何か案が?

4

1 に答える 1

0

実行時にそのTextView(numberOutput)を取得し、移動方法を設定することで解決しました:

rootView = (ViewGroup) inflater.inflate(R.layout.dicelogger_lo, container, false);
mLoggerBody = (TextView)rootView.findViewById(R.id.numberOutput); 
mLoggerBody.setMovementMethod(new ScrollingMovementMethod());

より高いAPIレベルが自動的に移動方法を設定することをドキュメントで見つけられませんでした..なぜ別の質問になるでしょうか

于 2013-04-11T12:35:19.063 に答える