2016-01-11 3 views
-1

я есть следующий блок кода, который я взял ссылку из StackOverflow себякак я могу прокрутить TextView в Android

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:isScrollContainer="true"> 
<!-- Include Action Bar --> 
<include layout="@layout/actionbar_layout" /> 

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="900px" 
    android:scrollbars="vertical" 
    android:layout_x="0px" 
    android:layout_y="25px" 
    android:layout_marginTop="40dp"> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:lines="90" 
     android:layout_alignParentRight="true" 
     android:scrollbars="vertical" 
     android:layout_marginTop="22dp" 
     android:text="Web Designing\n-Rs.30/-\n\nTechno Hunt\n-Rs.30/-\n\nDebugging\n-Rs.30/-\n\nGoogle Me\n-Rs.30/-\n\nCryptography\n-Rs.30/-\n\nQuery Master\n-Rs.30/-\n\nNeed For Speed: Most Wanted\n-Rs.50/-\n\nCounter Strike 1.6\n-Rs.150/-\n\nFifa-15\n-Rs.50/-\n\nBlind Typing\n-Rs.30/-\n\nAsphalt 8: Airborne\n-Rs.50/-\n\nLogo Designing\n-Rs.30/-\n\nPC Assembling\n-Rs.30/-\n\nVirtual Hunting\n-Rs.150/-\n\nRC-Maze\n-Rs.50/-\n\nFootball Skills\n-Rs.50/-\n\nBeg Borrow Steal\n-Rs.60/-\n\nTreasure Hunt\n-Rs.100/-\n\n60 Seconds To Fame\n-Rs.30/-\n\nPlay Fix Win\n-Rs.80/-\n\nPhotography\n-Rs.50/-\n\nChess\n-Rs.50/-\n\nCarrom Singles\n-Rs.30/-\n\nCarrom Doubles\n-Rs.60/-\n\nTable Tennis Singles\n-Rs.40/-\n\nTable Tennis Doubles\n-Rs.80/-\n\nCricket\n-Rs.700/-\n\nRink Football\n-Rs.200/-\n\nTug Of War\n-Rs.250/-\n\nBadminton Singles\n-Rs.50/-\n\nBadminton Doubles\n-Rs.100/-\n\nKabaddi\n-Rs.500/-"/> 

</ScrollView> 

Активности выглядит следующим образом

public class EntryFeeActivity extends Activity { 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.entry_fee_layout); 
    ScrollView scroller=new ScrollView(this); 
    TextView tv=(TextView)findViewById(R.id.textView1); 
    scroller.addView(tv); 
    tv.setMovementMethod(new ScrollingMovementMethod()); 
    } 
} 

Кодекса отлично смотрится ... также он дает правильный предварительный просмотр в области предварительного просмотра ссылка на изображение: http://imgur.com/t7NslEJ

, но до сих пор я получаю эту ошибку на запуске приложения

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.manthan.bvimit.manthan16/com.manthan.bvimit.manthan16.EntryFeeActivity}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2373) 
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2435) 
                at android.app.ActivityThread.access$900(ActivityThread.java:153) 
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1324) 
                at android.os.Handler.dispatchMessage(Handler.java:102) 
                at android.os.Looper.loop(Looper.java:135) 
                at android.app.ActivityThread.main(ActivityThread.java:5375) 
                at java.lang.reflect.Method.invoke(Native Method) 
                at java.lang.reflect.Method.invoke(Method.java:372) 
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911) 
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
               Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 
                at android.view.ViewGroup.addViewInner(ViewGroup.java:3937) 
                at android.view.ViewGroup.addView(ViewGroup.java:3787) 
                at android.widget.ScrollView.addView(ScrollView.java:278) 
                at android.view.ViewGroup.addView(ViewGroup.java:3728) 
                at android.widget.ScrollView.addView(ScrollView.java:260) 
                at android.view.ViewGroup.addView(ViewGroup.java:3701) 
                at android.widget.ScrollView.addView(ScrollView.java:251) 
                at com.manthan.bvimit.manthan16.EntryFeeActivity.onCreate(EntryFeeActivity.java:22) 
                at android.app.Activity.performCreate(Activity.java:6865) 
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2326) 
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2435)  
                at android.app.ActivityThread.access$900(ActivityThread.java:153)  
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1324)  
                at android.os.Handler.dispatchMessage(Handler.java:102)  
                at android.os.Looper.loop(Looper.java:135)  
                at android.app.ActivityThread.main(ActivityThread.java:5375)  
                at java.lang.reflect.Method.invoke(Native Method)  
                at java.lang.reflect.Method.invoke(Method.java:372)  
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911)  
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  

и сбои приложений, когда я нажимаю на значок активности

+1

'IllegalStateException: Указанный ребенок уже имеет родителя. Вы должны сначала вызвать removeView() родителя ребенка. –

+0

где вызвать removeView() ?? после чего линия? –

+0

И какой параметр должен быть указан в моем коде? –

ответ

0

ли это таким образом:

Ваш XML должно выглядеть как этот

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

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

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

    </LinearLayout> 
</ScrollView> 

, а затем обработать его так:

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.entry_fee_layout); 
ScrollView scroller=(ScrollView)findViewById(R.id.scrollView1); 
TextView tv=(TextView)findViewById(R.id.textView1); 

tv.setMovementMethod(new ScrollingMovementMethod()); 
} 
0

Попробуйте этот XML-код

использование андроида: layout_width = "fill_parent и Android: layout_height =" fill_parent» вместо match_parent ..

не уверен, но я надеюсь, что он будет работать для вас попробуйте

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<ScrollView 
android:id="@+id/SCROLLER_ID" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:scrollbars="vertical" 
android:fillViewport="true"> 

    <TextView 
    android:id="@+id/TEXT_STATUS_ID" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1.0"/> 

</ScrollView> 
0

просто добавить ScrollView scroller=(ScrollView)findViewById(R.id.scrollView1); вместо ScrollView scroller=new ScrollView(this); и назначить идентификатор для ScrollView как android:id="@+id/scrollView1"

0

Класс:

public class EntryFeeActivity extends Activity { 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.entry_fee_layout); 
} 

}

Xml:

<?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" 
android:isScrollContainer="true" 
android:orientation="vertical"> 

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="900px" 
    android:layout_marginTop="40dp" 
    android:scrollbars="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_marginTop="22dp" 
      android:lines="90" 
      android:scrollbars="vertical" 
      android:text="Web Designing\n-Rs.30/-\n\nTechno Hunt\n-Rs.30/-\n\nDebugging\n-Rs.30/-\n\nGoogle Me\n-Rs.30/-\n\nCryptography\n-Rs.30/-\n\nQuery Master\n-Rs.30/-\n\nNeed For Speed: Most Wanted\n-Rs.50/-\n\nCounter Strike 1.6\n-Rs.150/-\n\nFifa-15\n-Rs.50/-\n\nBlind Typing\n-Rs.30/-\n\nAsphalt 8: Airborne\n-Rs.50/-\n\nLogo Designing\n-Rs.30/-\n\nPC Assembling\n-Rs.30/-\n\nVirtual Hunting\n-Rs.150/-\n\nRC-Maze\n-Rs.50/-\n\nFootball Skills\n-Rs.50/-\n\nBeg Borrow Steal\n-Rs.60/-\n\nTreasure Hunt\n-Rs.100/-\n\n60 Seconds To Fame\n-Rs.30/-\n\nPlay Fix Win\n-Rs.80/-\n\nPhotography\n-Rs.50/-\n\nChess\n-Rs.50/-\n\nCarrom Singles\n-Rs.30/-\n\nCarrom Doubles\n-Rs.60/-\n\nTable Tennis Singles\n-Rs.40/-\n\nTable Tennis Doubles\n-Rs.80/-\n\nCricket\n-Rs.700/-\n\nRink Football\n-Rs.200/-\n\nTug Of War\n-Rs.250/-\n\nBadminton Singles\n-Rs.50/-\n\nBadminton Doubles\n-Rs.100/-\n\nKabaddi\n-Rs.500/-" /> 
    </LinearLayout> 
</ScrollView> 

+0

спасибо ... это сработало хорошо ... !! –

Смежные вопросы