2014-09-23 3 views
0

У меня есть сетка, в которой я раздуваю два макета с изображением {background imageview, содержащим изображение и два текстовых изображения, выровненных по вертикали над изображением} и другой макет с {фоном, содержащим три текстовых изображения, выровненных по вертикали изображение}.Прокручиваемый и щелкнимый текст в gridview android

Я ограничил максимальное количество строк в текстовом виде. Просьба предложить, как сделать textview прокручиваемым в gridview, и я хочу, чтобы элементы gridview были доступны для клика, которые будут перемещаться к следующему экрану при нажатии элемента.

Я попытался сделать прокручиваемое текстовое изображение, работающее внутри gridview, с помощью метода requestDisallowInterceptTouchEvent. Но я не получил ожидаемого результата. Когда используется метод setscrollingmovement(), текстовое изображение выглядит неубедительно, поэтому это также не работает.

Я не могу опубликовать сценарий как изображение, так как у меня недостаточно репутации для публикации изображения. Изображение загружено на Google Drive. Пожалуйста, используйте нижеуказанную ссылку для просмотра изображения.

https://drive.google.com/file/d/0B45x-sgFopMBMUJOaHk0NWlkMzQ/edit?usp=sharing

+0

Загрузите изображение в другое место, например, Dropbox или Google Drive, и опубликуйте ссылку в вопросе. –

+0

Изображение загружено на Google Drive .. Используйте эту ссылку, чтобы просмотреть изображение ... https://drive.google.com/file/d/0B45x-sgFopMBMUJOaHk0NWlkMzQ/edit?usp=sharing – Durga

ответ

0

Попробуйте это:

Свойства вашего TextView в файле XML вашего компоновщика:

android:maxLines = "INTEGER" 

android:scrollbars = "vertical" 

Затем используйте:

yourTextView.setMovementMethod(new ScrollingMovementMethod()) 

в вашем коде.

Это будет работать нормально ..

или же вы можете поместить TextView в ScrollView:

<ScrollView android:layout_width="wrap_content" 
    android:layout_height="wrap_content" android:layout_weight="1"> 
    <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Testin testin testing "></TextView> 
</ScrollView> 
+0

Я использовал то же самое. Но когда используется setMovementMethod(), я не могу щелкнуть элемент gridview. При щелчке по элементу он переходит к другому экрану. Можем ли мы использовать requestDisallowInterceptTouchEvent() для текстового просмотра? Но я не знаю, как правильно использовать его. – Durga

+0

Попробуйте с помощью 'ScrollView'. – Vijay

+0

Вы решили свою проблему? – Vijay

1

Я получил это работает :-) Но частично. Я использовал android:descendantFocusability="blocksDescendants" в корневой макете пользовательского макета элемента gridview (раздувание макета). Дело в onclick работает за пределами textiew.

Итак, TextView свитки и нажав вне TextView где-то на onClickListener фоне просмотра изображения пожаров GRID (в)

Но не в состоянии вызвать onclicklistener GridView (в) при нажатии на TextView. Необходимо изучить этот вопрос.

Б Предложения по ссылке StackOverflow: Referred Link

Отредактировано: прокрутка и интерактивного TextView в GridView - Got Обход с использованием onTouchlistener

Настройкой ниже ontouch клика слушателя для TextView внутри класса адаптера для GridView будет позволяют прокручивать текст, а также запускать onItemClick из GridView.

OnTouchListener aListener = new OnTouchListener() { 
           long startTouchTime = 0; 

           @Override 
           public boolean onTouch(View v, 
             MotionEvent event) { 
            switch (event.getAction()) { 
            case MotionEvent.ACTION_DOWN: 
             Log.e("ACTION_DOWN", 
               "ACTION_DOWN, intercept true"); 
             startTouchTime = (System 
               .currentTimeMillis()); 
             // To scroll the textview set this 
             textview 
               .setMovementMethod(new ScrollingMovementMethod()); 
             v.getParent() 
               .requestDisallowInterceptTouchEvent(
                 true); 
             break; 
            case MotionEvent.ACTION_UP: 
             Log.e("ACTION_UP", 
               "Call onitemclick" 
                 + ((System 
                   .currentTimeMillis()) - startTouchTime)); 

             if ((System.currentTimeMillis()) 
               - startTouchTime < 200) 
             // To call gridview onItemClick here 
              myGridActivity.myGridView 
                .getOnItemClickListener() 
                .onItemClick(
                  null, 
                  myGridActivity.myGridView, 
                  (Integer) imageView 
                    .getTag(), // Setting the position here through imageview set tag 
                  (long) 6767); 
             break; 
            } 
            if (event.getAction() == MotionEvent.ACTION_MOVE) { 
             Log.e("ACTION_MOVE", 
               "ACTION_MOVE, intercept true"); 

             v.getParent() 
               .requestDisallowInterceptTouchEvent(
                 true); 
            } else { 
             Log.e("Other", "Intercept false"); 
             v.getParent() 
               .requestDisallowInterceptTouchEvent(
                 true); 

            } 
            return false; 
           } 
          }; 

          textview.setOnTouchListener(aCBInfoListener); 

Набор android:scrollbars="vertical" для TextView прокручиваться.

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