按钮onClickListener无法正常工作

时间:2014-02-24 04:54:10

标签: android button onclicklistener

我在android上创建了一个应用程序,因为Button onClickListener无法正常工作。

我第一次单击按钮时它不起作用,但是当我第二次点击它时它起作用。

我的代码是:

public View getView(int position, View convertView, ViewGroup parent) 
    {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);   
        View vi=convertView;

        if (convertView == null) 
        {           
            vi = inflater.inflate(R.layout.home_list_model, null);
            vholder = new ViewHolder();

            vholder.hindi=(Button)vi.findViewById(R.id.btn_hindi);
            vholder.eng=(Button)vi.findViewById(R.id.btn_eng);                      

            vi.setTag(vholder);
        }
        else 
        {        
            vholder = (ViewHolder) (vi.getTag());
        }

        vholder.hindi.setOnClickListener(new View.OnClickListener() 
        {
            @Override
            public void onClick(View v)
            {               
                Intent i = new Intent(context, Story_List.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(i);
            }
        });

        vholder.eng.setOnClickListener(new View.OnClickListener() 
        {
            @Override
            public void onClick(View v) 
            {
                Intent i = new Intent(context, Story_List.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(i);
            }
        });

        return vi;
    } 

    static class ViewHolder 
    {   
        Button eng, hindi;
    }

我的XML文件是:

<RelativeLayout
            android:id="@+id/RelativeLayout001"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:columnCount="2"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/btn_eng"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="100px"
                android:layout_height="31px"
                android:layout_marginLeft="11dp"
                android:layout_marginRight="17dp"
                android:layout_marginBottom="5dp"
                android:layout_marginTop="35dp"
                android:layout_alignTop="@+id/btn_hindi"                    
                android:layout_alignBottom="@+id/ImageView12"
                android:layout_alignLeft="@+id/ImageView12"
                android:background="@drawable/mybutton"
                android:text="ENG"
                android:clickable="true"                    
                android:focusableInTouchMode="true"
                android:autoLink="all"                  
                android:textColor="@android:color/white" />

            <Button
                android:id="@+id/btn_hindi"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="100px"
                android:layout_height="31px"
                android:layout_marginTop="7dp"
                android:layout_marginRight="17dp"                   
                android:layout_alignTop="@+id/ImageView12"                  
                android:layout_alignLeft="@+id/btn_eng"
                android:background="@drawable/mybutton"
                android:text="HINDI"
                android:clickable="true"                    
                android:focusableInTouchMode="true" 
                android:autoLink="all"                  
                android:textColor="@android:color/white" />

        </RelativeLayout>

1 个答案:

答案 0 :(得分:2)

从xml文件中删除android:focusableInTouchMode =“true”行后,它正常工作。