Textview不会随着android 3d轮播中的选择变化而改变

时间:2013-02-13 06:08:59

标签: android carousel textview

我正在尝试在我的Android应用中使用Android 3D Carousel(codeproject.com/Articles/146145/Android-3D-Carousel)。在演示中,活动顶部有一个textview,随着3D轮播中的选择发生变化,文本会发生变化。这是活动中使用的main.xml的xml。

  <com.carouseldemo.controls.Carousel
        android:id="@+id/carousel"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:animationDuration="200"
        pj:Items="@array/entries"
        pj:Names="@array/names"
        pj:SelectedItem="0"
        pj:UseReflection="true" />


<TextView
    android:id="@+id/selected_item"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="0.8"
    android:background="#1E1921"
    android:text="text"
    android:textColor="#FFF"
    android:textStyle="normal" />

数组“@ array / entries”和“@ array / names”均包含6个项目。问题是,当我试图增加没有。在这些数组中的项目中,活动中的TextView(selected_item)随着轮播中项目的选择而改变数据时停止改变。它只显示第一项。下面是TextView的代码: -

 carousel.setOnItemSelectedListener(new OnItemSelectedListener(){

        public void onItemSelected(CarouselAdapter<?> parent, View view,
                int position, long id) {

            final TextView txt = (TextView)(findViewById(R.id.selected_item));

            switch(position){
            case 0:
                txt.setText("The cat (Felis catus), also known as the domestic cat or housecat to distinguish it from other felids and felines, is a small, usually furry, domesticated, carnivorous mammal that is valued by humans for its companionship and for its ability to hunt vermin and household pests. Cats have been associated with humans for at least 9,500 years, and are currently the most popular pet in the world. Owing to their close association with humans, cats are now found almost everywhere in the world.");
                break;
            case 1:
                txt.setText("The hippopotamus (Hippopotamus amphibius), or hippo, from the ancient Greek for \"river horse\" (ἱπποπόταμος), is a large, mostly herbivorous mammal in sub-Saharan Africa, and one of only two extant species in the family Hippopotamidae (the other is the Pygmy Hippopotamus.) After the elephant, the hippopotamus is the third largest land mammal and the heaviest extant artiodactyl.");
                break;
            case 2:
                txt.setText("A monkey is a primate, either an Old World monkey or a New World monkey. There are about 260 known living species of monkey. Many are arboreal, although there are species that live primarily on the ground, such as baboons. Monkeys are generally considered to be intelligent. Unlike apes, monkeys usually have tails. Tailless monkeys may be called \"apes\", incorrectly according to modern usage; thus the tailless Barbary macaque is called the \"Barbary ape\".");
                break;
            case 3:
                txt.setText("A mouse (plural: mice) is a small mammal belonging to the order of rodents. The best known mouse species is the common house mouse (Mus musculus). It is also a popular pet. In some places, certain kinds of field mice are also common. This rodent is eaten by large birds such as hawks and eagles. They are known to invade homes for food and occasionally shelter.");
                break;
            case 4:
                txt.setText("The giant panda, or panda (Ailuropoda melanoleuca, literally meaning \"black and white cat-foot\") is a bear native to central-western and south western China.[4] It is easily recognized by its large, distinctive black patches around the eyes, over the ears, and across its round body. Though it belongs to the order Carnivora, the panda's diet is 99% bamboo.");
                break;
            case 5:
                txt.setText("Rabbits (or, colloquially, bunnies) are small mammals in the family Leporidae of the order Lagomorpha, found in several parts of the world. There are eight different genera in the family classified as rabbits, including the European rabbit (Oryctolagus cuniculus), cottontail rabbits (genus Sylvilagus; 13 species), and the Amami rabbit (Pentalagus furnessi, an endangered species on Amami Ōshima, Japan)");
                break;
            }

        }

        public void onNothingSelected(CarouselAdapter<?> parent) {
        }

    }
    );

条目和名称数组的xml: -

<resources xmlns:android="http://schemas.android.com/apk/res/android">
<array name="entries">
    <item>@drawable/cat</item>      
    <item>@drawable/hippo</item>        
    <item>@drawable/monkey</item>       
    <item>@drawable/mouse</item>
    <item>@drawable/panda</item>        
    <item>@drawable/rabbit</item>                       
</array>    
<array name="names">
    <item>The cat</item>
    <item>The hippo</item>
    <item>The monkey</item>
    <item>The mouse</item>
    <item>The panda</item>
    <item>The rabbit</item>
</array>

请帮忙。

1 个答案:

答案 0 :(得分:6)

在这里找到解决方案: -

在Carousel.java中: -

将“if(angle!= 0.0f)”更改为“if(Math.abs(angle)&gt; 4)”

http://code.google.com/p/android-carousel-demo/issues/detail?id=1