Тест Android Junit завершился неудачно: «Только исходный поток, создавший иерархию представлений, может касаться его представлений».

Я новичок в Android и пишу некоторые базовые тесты Android с использованием Robotium, и это не удается, за исключением

"android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."

. Ниже приводится базовое описание тестового набора: -

testcase: -

public void testSearch() {
                        Activity a = getActivity();
            SearchItemActivity search = new SearchItemActivity(solo);
            search.searchText("ipod", a);   

    }

 SearchItemActivity.searchText(String) is defined as

    public void searchText(final String search, Activity act) {
                Button v = (Button) act
                .findViewById(com.test.mobile.R.id.text_search_field);
                ((Button) v).setText("");
                ((Button) v).setText(search);
                solo.sendKey(Solo.ENTER);
                solo.waitForActivity("FoundItemdDetailActivity");
                solo.assertCurrentActivity("Expected FoundItemDetail activity","FoundItemdDetailActivity");
    }

Мы будем благодарны за любые предложения по изменению кода.

16
задан Denis Kniazhev 10 December 2014 в 20:59
поделиться