android - Robotium isn't scrolling to a text view -


i have following layout in fragment , activity:

enter image description here

as can see, robotium fills in text edittext views. scrolls , fills in "team" field follows "player name". however, there spinner after that, appropriate label in textview, , solo.searchfortext() doesn't scroll down put view. because of split action bar? can remedy problem in tests?

the relevant code attempts access spinner:

        spinner playerpositionspinner = (spinner) solo.getview(r.id.player_position_text);         @suppresswarnings("unchecked")         arrayadapter<charsequence> playerpositionadapter = (arrayadapter<charsequence>) playerpositionspinner                 .getadapter();         int newindex = playerpositionadapter.getposition(card                 .getplayerposition());         int currindex = playerpositionspinner.getselecteditemposition();          boolean ispositionvisible = solo.searchtext(                 solo.getstring(r.string.player_position_label), true);         solo.waitforview(r.id.player_position_text);          boolean isconditionvisible = solo.searchtext(solo.getstring(r.string.condition_label),                 false);         int index = -1;         if (!isconditionvisible && ispositionvisible) {             index = 0;         }         if (ispositionvisible && isconditionvisible) {             index = 1;         }          assert.assertfalse("invalid index", index == -1);         solo.pressspinneritem(index, newindex - currindex); 

the xml layout form fragment:

<?xml version="1.0" encoding="utf-8"?> <scrollview xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@id/scroll_card_details"     android:layout_width="fill_parent"     android:layout_height="fill_parent" >      <tablelayout         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:stretchcolumns="1" >          <tablerow>              <checkbox                 android:id="@id/autograph"                 android:text="@string/autograph_label"                 android:layout_span="2" />         </tablerow>          <tablerow>              <textview                 android:text="@string/condition_label"                 android:textstyle="bold" />              <spinner                 android:id="@id/condition"                 android:hint="@string/condition_hint"                 android:singleline="true" />         </tablerow>          <tablerow>              <textview                 android:text="@string/brand_label"                 android:textstyle="bold" />              <autocompletetextview                 android:id="@id/brand_text"                 android:completionthreshold="1"                 android:hint="@string/brand_hint"                 android:inputtype="textcapwords"                 android:selectallonfocus="true"                 android:singleline="true" >                  <requestfocus />             </autocompletetextview>         </tablerow>          <tablerow>              <textview                 android:text="@string/year_label"                 android:textstyle="bold" />              <edittext                 android:id="@id/year_text"                 android:hint="@string/year_hint"                 android:inputtype="number"                 android:selectallonfocus="true"                 android:singleline="true" />         </tablerow>          <tablerow>              <textview                 android:text="@string/number_label"                 android:textstyle="bold" />              <edittext                 android:id="@id/number_text"                 android:hint="@string/number_hint"                 android:inputtype="number"                 android:selectallonfocus="true"                 android:singleline="true" />         </tablerow>          <tablerow>              <textview                 android:text="@string/value_label"                 android:textstyle="bold" />              <edittext                 android:id="@id/value_text"                 android:hint="@string/value_hint"                 android:inputtype="numberdecimal"                 android:selectallonfocus="true"                 android:singleline="true" />         </tablerow>          <tablerow>              <textview                 android:text="@string/count_label"                 android:textstyle="bold" />              <edittext                 android:id="@id/count_text"                 android:hint="@string/count_hint"                 android:inputtype="number"                 android:selectallonfocus="true"                 android:singleline="true" />         </tablerow>          <tablerow>              <textview                 android:text="@string/player_name_label"                 android:textstyle="bold" />              <autocompletetextview                 android:id="@id/player_name_text"                 android:completionthreshold="1"                 android:hint="@string/player_name_hint"                 android:inputtype="textcapwords"                 android:selectallonfocus="true"                 android:singleline="true" />         </tablerow>          <tablerow>              <textview                 android:text="@string/team_label"                 android:textstyle="bold" />              <autocompletetextview                 android:id="@id/team_text"                 android:completionthreshold="1"                 android:hint="@string/team_hint"                 android:inputtype="textcapwords"                 android:selectallonfocus="true"                 android:singleline="true" />         </tablerow>          <tablerow>              <textview                 android:text="@string/player_position_label"                 android:textstyle="bold" />              <spinner                 android:id="@id/player_position_text"                 android:hint="@string/player_position_hint"                 android:singleline="true" />         </tablerow>      </tablelayout>  </scrollview> 

apparently robotium finds ad, instead of scrollview. robotium doesn't know how deal , ignores instead of causing error.

i ending writing own function scrolling:

public static void scrolldown(final scrollview scrollview) {     scrollview.post(new runnable() {         @override         public void run() {             scrollview.arrowscroll(scrollview.focus_down);         }     }); } 

Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

jsf - How to ajax update an item in the footer of a PrimeFaces dataTable? -

django - CSRF verification failed. Request aborted. CSRF cookie not set -