2017-07-11 6 views
0

私は同じ幅のTextviewをほとんど持っていませんTextViewごとにテキストを設定しますこれらのテキストは基本的にテキストの長さが異なります。今度は、Textviewの最大長に基づいて、すべてのTextviewの最大行数を設定したいと思います。Android textviewはStirngに基づいて最大行を設定します

単純に最大行数を見つけて、すべてのTextViewに同じ最大行数を設定したいとします。それを可能にする方法はありますか?

答えて

0

あなたはgetLineCount()

使い方

public int getLine(Textview textview){ 
    textview.post(new Runnable() { 
     @Override 
     public void run() { 
      return textview.getLineCount(); 
     } 
    }); 
} 

を使用することができ、あなたはすべてのTextViewに

例を反復処理する必要があります:あなたは、反復、その後のTextView

List<TextView> texts = new ArrayList<>(); 
texts.add(textview1); 
texts.add(textview2); 
texts.add(textview3); 

の配列で設定していますすべて

あなたはGridViewの中で、アダプタを使用している場合
List<int> number = new ArrayList<>(); 
for(TextView txt: texts){ 
    number.add(getLine(txt)); 
} 

その後、数

int maxNumber = Collections.max(number); 
for(TextView txt: texts){ 
    txt.setMaxLines(maxNumber); 
} 



を比較...ビュー

public TextView GetViewByPosition(int position) { 
    int firstPosition = this.getFirstVisiblePosition(); 
    int lastPosition = this.getLastVisiblePosition(); 

    if ((position < firstPosition) || (position > lastPosition)) 
     return null; 

    return (TextView)this.getChildAt(position - firstPosition); 
} 
+0

を取得するには、これをしようとあらゆる可能性がありますGridViewのgetViewメソッドの下で実装する方法? – Amsheer

+0

アダプタを使用している場合は、最初にアダプタからビューを取得する必要があります。 – ZeroOne

+0

どうすればいいですか?どんな手掛かり? – Amsheer

関連する問題