0

私の目標は、評価スター フィールドがあるアンドロイドのようなスター フィールドを作成することです。私は次のことを達成するためにここまで来ました:

  • スターフィールドを作成する (5)
  • クリックすると、ビットマップが変化します。
  • 「クリックしない」と、ビットマップがデフォルトに戻ります。

私の次のステップは次のことです: 星 1 がクリックされていない場合、その後の 4 つの星はすべてクリック可能であってはならず、星 2 がクリックされた場合、星 3 はクリック可能でなければならず、星 4-5 はクリック可能であってはなりません。 ) 5 つの星がすべて選択されている場合は、star5 のみがクリック可能である必要があり、星 5 と 4 がクリックされていない場合、star3 はクリック可能である必要があり、星 2-1 はクリック可能である必要があります。

これまでに行ったことのコード スニペット (リンクを確認) を提供できます: http://supportforums.blackberry.com/t5/Java-Development/Rating-Stars-like-in-android/mp/1942559

私が達成したいことをどのように行うかについて何か考えがあれば教えてください、ありがとう。

4

2 に答える 2

0
LabelField RateDeal = new LabelField("Rating: ");
    HorizontalFieldManager StarManager=new HorizontalFieldManager(USE_ALL_WIDTH);
    final Bitmap StarNotClicked = Bitmap.getBitmapResource("rating_star.png");
    final Bitmap StarClicked = Bitmap.getBitmapResource("rating_star_focus.png");

    Star1 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){
        protected boolean navigationClick(int status, int time){
            fieldChangeNotify(1);
            Star1.setBitmap(StarClicked);
            Star2.setBitmap(StarNotClicked);
            Star3.setBitmap(StarNotClicked);
            Star4.setBitmap(StarNotClicked);
            Star5.setBitmap(StarNotClicked);
            AmountOfStarsSelected(1);
            return true;
        }
    };
    Star2 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){
        protected boolean navigationClick(int status, int time){
            fieldChangeNotify(1);
            Star1.setBitmap(StarClicked);
            Star2.setBitmap(StarClicked);
            Star3.setBitmap(StarNotClicked);
            Star4.setBitmap(StarNotClicked);
            Star5.setBitmap(StarNotClicked);
            AmountOfStarsSelected(2);
            return true;
        }
    };
    Star3 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){
        protected boolean navigationClick(int status, int time){
            fieldChangeNotify(1);
            Star1.setBitmap(StarClicked);
            Star2.setBitmap(StarClicked);
            Star3.setBitmap(StarClicked);
            Star4.setBitmap(StarNotClicked);
            Star5.setBitmap(StarNotClicked);
            AmountOfStarsSelected(3);
            return true;
        }
    };
    Star4 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){
        protected boolean navigationClick(int status, int time){
            fieldChangeNotify(1);
            Star1.setBitmap(StarClicked);
            Star2.setBitmap(StarClicked);
            Star3.setBitmap(StarClicked);
            Star4.setBitmap(StarClicked);
            Star5.setBitmap(StarNotClicked);
            AmountOfStarsSelected(4);
            return true;
        }
    };
    Star5 = new BitmapField(StarNotClicked,BitmapField.FOCUSABLE){
        protected boolean navigationClick(int status, int time){
            fieldChangeNotify(1);
            Star1.setBitmap(StarClicked);
            Star2.setBitmap(StarClicked);
            Star3.setBitmap(StarClicked);
            Star4.setBitmap(StarClicked);
            Star5.setBitmap(StarClicked);
            AmountOfStarsSelected(5);
            return true;
        }
    };
    StarManager.add(Star1);
    StarManager.add(Star2);
    StarManager.add(Star3);
    StarManager.add(Star4);
    StarManager.add(Star5);
        add(StarManager);
于 2012-11-07T11:44:19.790 に答える
0

この記事は、要件に応じてブラックベリーの星を評価するのに役立ちます.

http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/800505/800608/How_to_-_Implement_advanced_buttons,_fields,_and_managers.html?nodeid=2406256&vernum=0

于 2012-10-10T08:08:31.843 に答える