Android: Metin görünümünün son satırı kesildi


113

Yanında LinearLayouta ve TextViewardından a içeren bir yatay Spinnervar. Bu LinearLayout, dinamik olarak LinearLayoutbir RelativeLayout.

Sorun şu ki , ' den' Theme.lighte Theme.holo.lightgeçtiğimden beri , son satırın TextViewikiye bölünmesi. Bu, dinamik metin uzun olduğunda ve birden fazla satıra yayıldığında gerçekleşir.

görüntü açıklamasını buraya girin

Bunu LinearLayout, TextViewve içeren yataya alt dolgu ekleyerek düzeltebildim Spinner.

Bu bir düzeltme değil, daha çok bir hack gibi geliyor. Birisi bana bunu nasıl düzeltebileceğim konusunda biraz tavsiye verebilir mi?

Başka sorular da okudum ama hiçbiri yardımcı olmuyor.

Yatay Doğrusal düzen:

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_marginRight="20dp"
        android:text="TextView"/>

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

Yukarıdaki düzenin, ll2_7 kimliğiyle Doğrusal Düzende dinamik olarak şişirildiği göreli düzen:

<?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" >

    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/relLayoutButtonNext"
        android:layout_below="@id/textView1" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="20dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp" >

            <TextView
                android:id="@+id/textView10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="30dp"
                android:text="2.7" />

            <TextView
                android:id="@+id/textView11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:layout_toRightOf="@id/textView10"
                android:text="@string/question2_7" />


            <LinearLayout
                android:id="@+id/ll2_7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView11"
                android:layout_below="@+id/textView11"
                android:orientation="vertical" android:layout_marginBottom="20dp">
            </LinearLayout>

        </RelativeLayout>

    </ScrollView>

</RelativeLayout>

DÜZENLEME: İşte yukarıdakiler için tam xml düzeni:

<?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" >

    <TextView
        android:id="@+id/textView1"
        style="@style/question_section_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@string/question2_header" />

    <RelativeLayout
        android:id="@+id/relLayoutButtonNext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/bottomBar"
        android:paddingBottom="3dp"
        android:paddingLeft="50dp"
        android:paddingRight="50dp"
        android:paddingTop="3dp" >

        <Button
            android:id="@+id/buttonNext"
            android:layout_width="180dp"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:onClick="nextStep"
            android:text="Next Section"
            android:textSize="20sp" />

        <Button
            android:id="@+id/buttonPrevious"
            android:layout_width="180dp"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:onClick="previousStep"
            android:text="Previous Section"
            android:textSize="20sp" />
    </RelativeLayout>


    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/relLayoutButtonNext"
        android:layout_below="@id/textView1" >



        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="20dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp" >

            <TextView
                android:id="@+id/textView10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="30dp"
                android:text="2.7" />

            <TextView
                android:id="@+id/textView11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:layout_toRightOf="@id/textView10"
                android:text="@string/question2_7" />


            <LinearLayout
                android:id="@+id/ll2_7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView11"
                android:layout_below="@+id/textView11"
                android:orientation="vertical" android:layout_marginBottom="20dp">

            </LinearLayout>

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView10"
                android:layout_below="@+id/ll2_7"
                android:text="2.8" />

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/ll2_7"
                android:layout_toRightOf="@+id/textView10"
                android:text="@string/question2_8" android:layout_marginBottom="10dp"/>


            <LinearLayout
                android:id="@+id/ll2_8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView3"
                android:layout_below="@+id/textView3"
                android:layout_marginBottom="20dp"
                android:orientation="vertical" >

            </LinearLayout>

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView2"
                android:layout_below="@+id/ll2_8"
                android:text="2.9" />

            <TextView
                android:id="@+id/textView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/ll2_8"
                android:layout_toRightOf="@+id/textView10"
                android:text="@string/question2_9" android:layout_marginBottom="10dp"/>


            <LinearLayout
                android:id="@+id/ll2_9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textView5"
                android:layout_toRightOf="@+id/textView10"
                android:orientation="vertical" android:layout_marginBottom="20dp">

            </LinearLayout>

            <TextView
                android:id="@+id/textView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView4"
                android:layout_below="@+id/ll2_9"
                android:text="2.10" />

            <TextView
                android:id="@+id/textView7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/ll2_9"
                android:layout_toRightOf="@+id/textView10"
                android:text="@string/question2_10" android:layout_marginBottom="10dp"/>


            <LinearLayout
                android:id="@+id/ll2_10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textView7"
                android:layout_marginBottom="20dp"
                android:layout_toRightOf="@+id/textView10"
                android:orientation="vertical" >

            </LinearLayout>

            <TextView
                android:id="@+id/textView8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView6"
                android:layout_below="@+id/ll2_10"
                android:text="2.11" />

            <TextView
                android:id="@+id/textView9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/ll2_10"
                android:layout_toRightOf="@+id/textView10"
                android:text="@string/quesiton2_11" android:layout_marginBottom="10dp"/>


            <LinearLayout
                android:id="@+id/ll2_11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView9"
                android:layout_below="@+id/textView9"
                android:orientation="vertical" android:layout_marginBottom="20dp">

            </LinearLayout>

            <TextView
                android:id="@+id/textView12"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView8"
                android:layout_below="@+id/ll2_11"
                android:text="2.11.1" />

            <TextView
                android:id="@+id/textView13"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/ll2_11"
                android:layout_toRightOf="@+id/textView10"
                android:text="@string/question2_11_1" android:layout_marginBottom="10dp"/>


            <LinearLayout
                android:id="@+id/ll2_11_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textView13"
                android:layout_toRightOf="@+id/textView10"
                android:orientation="vertical" android:layout_marginBottom="20dp">

            </LinearLayout>

        </RelativeLayout>

    </ScrollView>

</RelativeLayout>

android'i kaldırmayı deneyin: paddingBottom = "20dp"
Dheeresh Singh

2
Metin

LinearLayout, yatay olarak kullanıldığında gerçekten sorunludur. Bunun yerine ConstraintLayout'u kullanın. Görmek. stackoverflow.com/a/48677954/630668
Dharmendra

Yanıtlar:


55

Ekran görüntüsünde gösterilenle aynı kesme sorunuyla karşılaştım. Yataydaki taban çizgisi hizalamasından kaynaklanır LinearLayout. TextViewve Spinneryazı tipi boyutu farkından dolayı farklı taban çizgileri vardır. Sorunu düzeltmek için, aşağıdakileri ayarlayarak düzen için temel hizalamayı devre dışı bırakmak gerekir:

android:baselineAligned="false"

veya kodda:

layout.setBaselineAligned(false);

2
Keşke bunu 100 kez artırabilseydim! Son birkaç gündür bu konuda çok zaman harcadım ve cevabınız benim çözümümdü! Bu kadar uzun süredir neler olduğunu anlamadım çünkü Android'de görünüm hiyerarşisinde hata ayıklamak çok zor. Çok teşekkürler!!!
mbm29414

Bu, Rynardt'ın cevabına ek olarak sorunumun çözümüydü. Teşekkür ederim!
James Dobson

1
Bu doğru cevaptır ve hatanın neden olduğuna işaret eder. Teşekkürler.
Hoang Nguyen Huu

Bu, bunun gibi durumlar için çok büyük bir ipucu. Hiç de fena değil. Teşekkür ederim!
sunlover3

259

Milyonlarca farklı şey denedikten sonra sanırım cevabım var.

LayoutGravityTextView öğesine bir uyguladım :

android:layout_gravity="fill"

Sahip olduğum tüm kırpma sorunlarını çözüyor gibi görünüyor. Umarım bu aynı sorunu olan birine yardımcı olur.


12
mükemmel, tnx, +1; birçok layout_gravity değerinin yardımcı olduğuna dikkat edin, örn. center_vertical
Grzegorz Dev

2
Bunun işe yaramadığı durumlarda, "1sp" dolgu değeri eklemek işe yarayacaktır. Genişleyen bir stil oluşturup @android:style/Widget.TextViewaşağıdaki satırları ekliyorum:<item name="android:gravity">fill</item> <item name="android:padding">1sp</item>
Graeme

bu problem neden sadece arapça metinlerde oluyor?
Menna-Allah Sami

12
Bu sadece geçici bir çözüm. Doğru çözüm, android:baselineAligned="false"LinearLayout
2016

1
Bu çalışmada gibi görünse de, doğru çözüm tomrozb yorumuna itibaren bir üzerindeyse veya Jusid cevabı
Eduard B.

28

Ben de aynı sorunu yaşadım ve basitçe ekledim

android:includeFontPadding="false"

son metin satırının alt satırları artık kırpılmamıştı.


1
Özel yazı tipleriyle bu mükemmel bir düzeltme olabilir. Droid Sans Japanese kullanırken benim için çalışan tek çözüm budur.
computingfreak

11

Ekleyerek metinden sonra biraz boşluk ekledim

textView.setText(firstString+"\n");

Diğer tüm çözümleri denedim ama bu benim için işe yarayan tek çözümdü


buna "chepi"
dediğiniz şey

6

Sorunlu metin görünümünü bir çerçeve düzeninin içine yerleştirin. Kardeş görüş Spinner nedeniyle metin görünümünün doğru hesaplanmadığını düşünüyorum.

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

    <FrameLayout
        android:layout_width="150dp"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textView1"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:text="TextView"/>
    </FrameLayout>
    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

1
Ben CheckBoxaynı yer LinearLayout. Bu sorunu çözdü.
Chintan Shah

@ChintanShah gibi bir CheckBox durumuyla bir cazibe gibi çalıştı
ignacardel

5

Bu meydana geldiğinde, TextViewkaptan daha büyük büyümediğinden emin olmalısınız -

Bir değer TextViewolarak ayarlanmışsa wrap_contentve kapsayıcı (veya bir ata kabı) TextViewiçine büyümek için yer bırakmazsa tıkanabilir.

Eğer durum değilse, bu da mümkün onMeasure()ait TextViewbazen doğru harfleri olmayan latin karakter veya italik olmak metinden etkilerin kuyrukları ölçmez. Bunu, TextViewtüm kod tabanınızı değiştirmeye gerek kalmadan alınabilmesi için genel bir stil belirleyerek düzeltebilirsiniz :

Uygulamanızın / etkinliklerin aşağıdaki gibi özel bir tema kullandığından emin olun:

<style name="Custom" parent="@android:style/Theme.Light">   
    <item name="android:textViewStyle">@style/Custom.Widget.TextView</item>
</style>

<style name="Custom.Widget.TextView" parent="@android:style/Widget.TextView"> 
    <item name="android:gravity">fill</item>
    <item name="android:padding">1sp</item>
</style>

@Rynadt'ın cevabı yukarıdaki aşamaya geçmede gerçekten yardımcı oldu. Görünüm içindeki Metnin ağırlığını ayarlamak, bazı cihazlarda tıkanmanın asla gerçekleşmemesini sağlar (Metin, görünümün içine doğru şekilde yerleştirilir), diğerlerinde ise sp değerinin dolgulu bir yardım eli, kuyrukların ve diğerlerinin hesaba katılmasını sağlar. TextSize özel bir değere sahip.


5

Benim çözümüm kabul edilene yakındı, ancak bunu şu şekilde değiştirmem gerekiyordu:

   android:layout_gravity="fill_vertical"

yerine. Aksi takdirde, diğer satırlar da rastgele yerlerde eklenen satır sonları ile uzayacaktı. Örneğin, en büyük satır 4 satıra sahipti, bu nedenle başka bir satır

this is a testphrase

için

thi
s is
a testph
rase

1
Benim için çalışıyor. Teşekkürler! +1
Ahmed

5

TextView'ı genişleterek ve buna benzer özel bir Sınıf ekleyerek farklı bir çözüm buldum:

 public class AdaptingTextView extends TextView {

    public AdaptingTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public AdaptingTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public AdaptingTextView(Context context) {
        super(context);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, h, oldw, oldh);

        // set fitting lines to prevent cut text
        int fittingLines = h / this.getLineHeight();
        if (fittingLines > 0) {
            this.setLines(fittingLines);
        }
    }

}

Harika çalışıyor ancak metin görünümünde layout_margin belirtilmişse dikkatli olun, çünkü uydurma satırlarının sayısını olması gerekenden daha kısa olacak şekilde değiştirebilir! Kenar boşlukları yerine dolgu kullanmaya geçtim ve sorun
çözüldü

1
Bu kesinlikle mükemmel çalışıyor. Bulduğum açık ara en iyi çözüm.
Moonbloom

1
Bu doğru cevap, teşekkürler! Biraz daha güzel hale getirmek ve kısaltılmadan önce metnin sonuna '...' eklemek this.setEllipsize(TextUtils.TruncateAt.END);için yukarıdaki if ifadesini ekleyin ve android:ellipsize="end"herhangi bir nedenle onu bozan XML'den kaldırın .
NeilS

4

android'i kaldırmayı deneyin: paddingBottom = "20dp"

itibaren

 <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="20dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp" >

1
Dolgu ile bu göreceli düzen içinde bulunan ek öğeler olduğundan, buradaki dolgu aslında ilgili değildir. Bu yazıyı daha kolay okumak için onları kaldırdım. Söz konusu düzenlemeye bakın.
Rynardt

4

getViewTreeObserver().addOnGlobalLayoutListenergeri dönüşümlü görünümde çalışmaz. Geri dönüşüm cihazı kullanıyorsanız View.addOnLayoutChangeListenerşunları kullanın :

Xml'de tanımladığım elipslerin textViewher zaman yansıtılmadığını buldum, bu yüzden text özelliğini yeniden atamadan önce programlı olarak ayarladım. Bu benim için çalıştı.

textView.addOnLayoutChangeListener(new OnLayoutChangeListener() {
    @Override
        public void onLayoutChange(View v, int left, int top, int right, int bottom,
                                   int oldLeft, int oldTop, int oldRight, int oldBottom) {
            textView.removeOnLayoutChangeListener(this);
            float lineHeight = textView.getLineHeight();
            int maxLines = (int) (textView.getHeight() / lineHeight);
            if (textView.getLineCount() != maxLines) {
                textView.setLines(maxLines);
                textView.setEllipsize(TextUtils.TruncateAt.END);
                // Re-assign text to ensure ellipsize is performed correctly.
                textView.setText(model.getText());
            }
        }
    });

3

Bu sorunu yaşıyorsanız ve TextViewa'nın içindeyse, bir için RelativeLayoutdeğiştirmeyi deneyin .RelativeLayoutLinearLayout

Bu benim için sorunu çözdü


Benim için işe yarayan tek çözüm bu (garip davranış)! Thx
mrroboaat

1
RelativeLayout'tan LinearLayout'a nasıl basitçe "geçebilirsiniz"? Göreceli olarak yerleşim planlamanız gerekiyorsa, LinearLayout ile uygulamak neredeyse imkansızdır.
inanılmaz

3

Herhangi bir ViewGroup türünde TextView için genel bir düzen dinleyicisi kullanabilirsiniz.

    final TextView dSTextView = (TextView)findViewById(R.id.annoyingTextView);
dSTextView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

    @Override
    public void onGlobalLayout() {
        dSTextView.getViewTreeObserver().removeOnGlobalLayoutListener(this);

        float lineHeight = dSTextView.getLineHeight();
        int maxLines = (int) (dSTextView.getHeight() / lineHeight);

        if (dSTextView.getLineCount() != maxLines) {
            dSTextView.setLines(maxLines);
        }

    }
});

Bu konuda daha fazla bilgi bulabilirsiniz burada


1

Düzenleri değiştirerek bunu çalıştırmak için yapabileceğiniz çok az şey olduğunu düşünüyorum. Bazı yöntemlerin sadece bazı durumlarda işe yaradığını bulduğum gibi. Bunun tüm düzen hiyerarşisine bağlı olduğunu düşünüyorum ve her duruma uyan tek bir çözüm değil. Ayrıca, özellikle TextView olarak ayarlamak istediğiniz farklı bir yazı tipine sahip olduğunuzda da olduğunu fark ettim.

Denediğim ve test ettiğim kesin bir çekim yöntemi, görünüm şişirildikten sonra koddaki yazı tipi niteliklerini ayarlayabilmenizdir. Varlıklar / yazı tipleri klasöründe size istediğiniz bir yazı tipinizin olduğunu varsayıyorum.

Örneğin bir Fragman içinde:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState)
{
    View view = inflater.inflate(R.layout.fragment_view, container, false);
    TextView tv = (TextView)view.findViewById(R.id.text_view);
    tv.setText("Insert text that needs to be displayed");
    AssetManager assetManager = getContext().getAssets();
    Typeface typeFace = Typeface.createFromAsset(assetManager, "Fonts/OpenSans-Light.ttf");
    tv.setTypeface(typeFace , 0); // 0 is normal font
    tv.setPadding(10,  0, 10, 0); // This is not mandatory
}

Ve bir Aktivitede:

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(Resource.Layout.main_activity);
    TextView tv = (TextView)this.findViewById(R.id.text_view);
    tv.setText("Insert text that needs to be displayed");
    AssetManager assetManager = getContext().getAssets();
    Typeface typeFace = Typeface.createFromAsset(assetManager, "Fonts/OpenSans-Light.ttf");
    tv.setTypeface(typeFace , 0); // 0 is normal font
    tv.setPadding(10,  0, 10, 0); // This is not mandatory
}

1

Bende de aynı sorun var ve bu çok can sıkıcı.

Yalnızca Arapça metinlerde olur.

Etiketi çok satırlı yaparsanız ve \ndizenizin sonuna bir eklerseniz , bu sorunu düzeltir, ancak sorun şu ki, bu alan olduğu için bu etiket ile altındaki nesne arasında büyük bir boşluk olacaktır. şimdi altında yeni bir boş satır var.

Bunu aşmak için özel bir kontrol yapılabilir. Ancak genel olarak bu can sıkıcı bir hatadır.


YENİ bir sorunuz varsa, lütfen Soru Sor düğmesini tıklayarak sorun . Yeterli itibara sahipseniz , soruyu yükseltebilirsiniz . Alternatif olarak, favori olarak "yıldız ekleyin" ve yeni cevaplar size bildirilecektir.
Martijn Pieters

0

Bunun için en iyi çözüm, görünümünüzün alt kısmına istenen yükseklikte sahte bir Görünüm eklemektir (yani bu, dolgunun kendisini ekleyecektir).

<TableRow
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_marginLeft="5dp"
 android:layout_marginRight="5dp" >
     <View 
       android:layout_width="match_parent" 
       android:layout_height="30dp"/>
</TableRow>

Benim durumumda olduğu gibi, görünümün altına bir tablo satırı daha ekledim. Umarım bu birine yardımcı olabilir.


0

Biliyorum çok geç, ama bu benim için büyüleyici bir iş. bu kodutextview

android:ellipsize="marquee"
android:layout_weight="1"

0

Metin görünümünün altına dolgu ekleyin:

android:paddingBottom="24dp"

-1

Sonunda düzelttim!

Hizmette TextView'e String eklemeye ve ardından scrollTo () ' yu çağırmaya çalışıyorum, son satır kesilecek!

ScrollTo (), aşağıdaki gibi "Çalıştırılabilir" olarak çağrılmalıdır:

private ScrollView mScrollView;
public void scrollToBottom()
{
    mScrollView = (ScrollView) findViewById(R.id.debug_textview_scrollview);
    mScrollView.post(new Runnable()
    {
        public void run()
        {
            mScrollView.fullScroll(View.FOCUS_DOWN);
        }
    });
}

Sanırım, çünkü hizmette scrollTo () çağrısı sırasında TextView güncellemesi hazır değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.