Android - Как установить панель рейтинга без клика и сенсорного в HTC mobile

Мое приложение имеет рейтинговые бары. Я хочу, чтобы панель "Рейтинг" была недоступна и не касалась. Для этого я добавил следующий код в файле xml каждой рейтинговой панели.

Он работает в галактике Samsung Apollo GT-i5801. Но он не работает в мобильном телефоне HTC. Почему?

xml code

android:clickable="false"     
android:focusableInTouchMode="false"    
android:focusable="false"

спасибо

Ответ 1

Вы также можете установить индикатор RatingBar как индикатор из xml со следующим:

android:isIndicator="true"

Ответ 2

Не устанавливайте enabled в false, так как это уменьшит контроль. То, что вы хотите сделать, это переопределить прослушиватель касания следующим образом:

import android.view.View.OnTouchListener;

RatingBar ratingBar = (RatingBar)findViewById(R.id.ratingBar);
ratingBar.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            return true;
        }
    });

Итак, в основном вы перехватываете прикосновение и ничего не делаете с ним

Также добавьте следующий код, чтобы заблокировать опрокидывание трекбола

ratingBar.setFocusable(false);

Ответ 3

Это он записывает этот код в ваш setOnRatingBarChangeListener

ratingaddrate.setIsIndicator(true);

Обновление:

Этот пример можно использовать в XML

android:isIndicator="true"

также добавить эту строку в код

ratingBar.setFocusable(false);

Ответ 4

Это лучшее решение:

Android: isIndicator = "истина"