2017-02-06 9 views
-1

現在、の行数によって決定される背景色を持つframelayoutがあります。行数が2を超える場合は、背景色を変えたいと思います。画面の向きを変更するために、onConfigurationChangedメソッド内の背景色を再計算します。私がgetLineCount()と呼ぶとき、私はまだ方向変更の前の行の数を得ています。言い換えれば、lineCountは方向変更の前からlineCountを返します。Android:方向変更後のテキストビューから行数を取得

オリエンテーションを1つ変更すると常に遅れます。これには解決策がありますか? handling orientation change

int lineCnt = textView.getLineCount(); 

を使用することにより

+1

あなたのコードを先に表示できますか? – TruongHieu

+0

こんにちは、これを修正できましたか? –

答えて

0

は基本的に、それを処理するための2つの方法があります。 アクティビティの再起動が必要ですが、もう1つはアクティビティの再起動が必要です。私は、活動を再開することが推奨されるというコメントを読んだ。

あなたはあなたがあなたの活動を再開しませ検討することができるアプリケーションを再起動すると、大量のデータを復元することはコストがかかることと、ユーザーエクスペリエンスの低下

を作成することが可能な状況が発生することがあります

場合XMLで

::次の手順を実行して、

<activity android:name=".MyActivity" 
     android:configChanges="orientation|keyboardHidden" 
     android:label="@string/app_name"> 

活動中

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    // Checks the orientation of the screen 
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
    } 
} 
関連する問題