我的片段内的按钮无法识别

时间:2019-09-05 18:22:26

标签: java android button fragment

我想测试按钮是否可以在我的应用程序上使用。     它们放在我的第一个片段中。当我单击“全部”按钮时,它根本不响应。我的主要目标是加载片段,但在这种情况下,我只是将System.out.println放入测试我的按钮是否可以正常工作,但显然不起作用。

我试图创建一个新项目并且它可以正常工作,但是仅在Main Activity中,我希望在我的Exercises_Tab片段中使用它。

我根本看不到任何错误日志。

    public class Exercises_Tab extends Fragment {

            @Nullable
            @Override
            public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
                View Exercises = inflater.inflate(R.layout.fragment_1,container,false);

                Button allbtn = (Button) Exercises.findViewById(R.id.all_button);

            allbtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    System.out.println("Test");
                }
            });
                    return Exercises;
                }
            }

我的XML:

    <LinearLayout
        android:id="@+id/Linear_Layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text= " Muscles "
                android:background="#000000"
                android:textColor="#ffffff"
                android:textSize="25dp"

                android:layout_marginTop="3dp"/>






            <HorizontalScrollView
                android:id="@+id/scrollViewhorizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"

                android:paddingVertical="-20dp">


                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">




                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"
                        android:background="#fafafa"
                        android:text="All"
                        android:textColor="#696969"
                        android:id="@+id/all_button"/>

                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:text="Button 1"
                        android:id="@+id/second_button"
                        android:background="#fafafa"
                        android:textColor="#696969"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"/>
                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"
                        android:background="#fafafa"
                        android:text="Button 1"
                        android:textColor="#696969" />
                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:text="Button 1"
                        android:background="#fafafa"
                        android:textColor="#696969"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"/>
                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:text="Button 1"
                        android:background="#fafafa"
                        android:textColor="#696969"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"/>
                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:text="Button 1"
                        android:background="#fafafa"
                        android:textColor="#696969"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"/>
                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:text="Button 1"
                        android:background="#fafafa"
                        android:textColor="#696969"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"/>
                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:text="Button 1"
                        android:background="#fafafa"
                        android:textColor="#696969"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"/>
                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:text="Button 1"
                        android:background="#fafafa"
                        android:textColor="#696969"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"/>
                    <Button
                        android:layout_width="80dp"
                        android:layout_height="40dp"
                        android:text="Button 1"
                        android:background="#fafafa"
                        android:textColor="#696969"
                        android:layout_margin="-20dp"
                        android:layout_marginRight="2dp"/>
                </LinearLayout>

            </HorizontalScrollView>

    </LinearLayout>




    <FrameLayout
        android:id="@+id/Frame_Layout"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:layout_gravity="center"
        android:layout_centerHorizontal="true"
        android:background="@color/colorPrimary"
        android:layout_below="@+id/Linear_Layout"


        >
    </FrameLayout>

2 个答案:

答案 0 :(得分:0)

在此函数内执行整个代码的片段,因为它已经引用了xml视图。

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
   super.onViewCreated(view, savedInstanceState);
   Button allbtn = (Button) view.findViewById(R.id.all_button);
   allbtn.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           System.out.println("Test");
           }
        });
 }

答案 1 :(得分:0)

您可以像这样实现点击监听器

public class Exercises_Tab extends Fragment implements OnClickListener {
    Button allbtn ;

    @Override
    public View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedinstanceState) {
        View Exercises = inflater.inflate(R.layout.fragment_1,container,false);
        allbtn = (Button) Exercises.findViewById(R.id.all_button);
        allbtn .setOnClickListener(this);
        return Exercises ;
    }

    @Override
    public void onClick(View v) {
        // implements your things
    }
}

我更喜欢这样做,因为它使您的代码更具可读性。