0

在我的应用程序相关布局 setOnClickListener 不起作用我无法找出这里的问题。这是我的 main.xml

<LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/profile_relative"
            android:layout_marginTop="1dp"
            android:id="@+id/profile_linear">

        <RelativeLayout
                android:id="@+id/profile_postButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginLeft="1dp">

            <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/profile_post_btn"
                    android:layout_centerInParent="true"
                    android:background="@drawable/post_selector_t"/>

            <TextView
                    android:id="@+id/profile_post_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="20dp"
                    android:layout_centerInParent="true"
                    android:text="189"
                    android:textSize="14sp"/>
        </RelativeLayout>

        <RelativeLayout
                android:id="@+id/profile_gradeButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginLeft="1dp">

            <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/profile_likes_btn"
                    android:layout_centerInParent="true"
                    android:background="@drawable/likes_selector_t"/>

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/profile_likes_text"
                    android:layout_marginTop="20dp"
                    android:layout_centerInParent="true"
                    android:text="597"
                    android:textSize="14sp"/>
        </RelativeLayout>

        <RelativeLayout
                android:id="@+id/profile_subscriptionButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginLeft="1dp">

            <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/profile_signed_on_btn"
                    android:layout_centerInParent="true"
                    android:background="@drawable/signed_on_selector_t"/>

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/profile_signed_on_text"
                    android:layout_marginTop="20dp"
                    android:layout_centerInParent="true"
                    android:text="85"
                    android:textSize="14sp"/>
        </RelativeLayout>

        <RelativeLayout
                android:id="@+id/profile_subsribersButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginLeft="1dp">

            <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/profile_followers_btn"
                    android:layout_centerInParent="true"
                    android:background="@drawable/followers_selector_t"/>

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/profile_followers_text"
                    android:layout_marginTop="20dp"
                    android:layout_centerInParent="true"
                    android:text="118"
                    android:textSize="14sp"/>
        </RelativeLayout>
    </LinearLayout>

这是我的片段

    @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.profile, container, false);

            view.findViewById(R.id.profile_postButton).setOnClickListener(this);
            view.findViewById(R.id.profile_gradeButton).setOnClickListener(this);
            view.findViewById(R.id.profile_subsribersButton).setOnClickListener(this);
            view.findViewById(R.id.profile_subscriptionButton).setOnClickListener(this);
  }  
    @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.profile_postButton:
                    System.out.println("AA");

                    break;
                case R.id.profile_gradeButton:
                    System.out.println("GG");

                    break;
                case R.id.profile_subscriptionButton:
                    System.out.println("EE");

                    break;
                case R.id.profile_subsribersButton:
                    System.out.println("DD");

                    break;
            }
        }

知道我在这里想念什么。

4

2 回答 2

1

我认为您必须将onClick块代码移出onCreate

   @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.profile, container, false);

        view.findViewById(R.id.profile_postButton).setOnClickListener(this);
        view.findViewById(R.id.profile_gradeButton).setOnClickListener(this);
        view.findViewById(R.id.profile_subsribersButton).setOnClickListener(this);
        view.findViewById(R.id.profile_subscriptionButton).setOnClickListener(this);
} 


@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.profile_postButton:
            System.out.println("AA");

            break;
        case R.id.profile_gradeButton:
            System.out.println("GG");

            break;
        case R.id.profile_subscriptionButton:
            System.out.println("EE");

            break;
        case R.id.profile_subsribersButton:
            System.out.println("DD");

            break;
    }
于 2013-04-23T10:17:47.997 回答
-3

在 XML 处添加:

android:onClick="onClick";

到每个按钮。

于 2013-04-23T10:15:50.500 回答