9

テキスト ビューの行数を知りたい。私はすでにmytextviewテキストを設定しています。次に、mytextviewで何行かかるかを取得したいと思います。

mytextview.getLineCount() を使用しますが、機能しませんでした。常に 0 を返します。

誰か助けてくれませんか。

4

6 に答える 6

31

行数をフェッチするためのメソッドをPOSTする必要があります。これがサンプルコードです

imageCaption.setText("Text Here");
imageCaption.post(new Runnable() {

    @Override
    public void run() {

        int lineCount    = imageCaption.getLineCount();

        Log.v("LINE_NUMBERS", lineCount+"");
    }
});
于 2012-10-10T13:34:43.180 に答える
2

onCreateOptionsMenu() 内の TextView パラメータを確認できます

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    TextView tv1 = (TextView)findViewById(R.id.textView);
    Rect rect = new Rect();
    int c = tv1.getLineCount();
    tv1.getLineBounds(0, rect);
    tv1.getLineBounds(1, rect);
    return true;
}
于 2013-09-18T11:56:01.167 に答える
1

以下は、tv.setText() を設定した同じ場所でのテキストビューの行数を提供します。

int maxTextViewWidth="ENTER MAX WIDTH HERE";

tv.setText("hello\nhow are you?");

int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(maxTextViewWidth, View.MeasureSpec.AT_MOST);

int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);

tv.measure(widthMeasureSpec, heightMeasureSpec);

int lineCount=tv.getLineCount();
于 2015-08-26T20:07:41.923 に答える
1

public int getLineCount ()

以来: API レベル 1

テキストの行数を返すか、内部レイアウトが構築されていない場合は 0 を返します。

于 2012-07-13T09:35:05.337 に答える
1

このリンクを確認してください。

Android Edittext: アクティビティの onCreate() で LineCount を取得する

内部レイアウトがまだ作成されていない場合、tv.getLineCount() は常に 0 を返します。

于 2012-07-13T09:37:06.073 に答える
-9

全てに感謝。私はすでにそれを解決しました。このようにスレッドを使用して行数を取得します

@Override
public void run() {
    // TODO Auto-generated method stub
    while(textView.getLineCount() == 0){

    }
    countLine = textView.getLineCount(); 

}

これが同じ問題を抱えている場合に役立つことを願っています。宜しくお願いします。

于 2012-07-17T09:00:36.593 に答える