在Fragment中未触发按钮单击事件

时间:2018-06-07 10:30:10

标签: android

我在片段

中插入此代码时遇到问题
def func_run(param):
    values = func1(param[0], param[1], param[2], param[3], r, T)
    ...

当应用程序运行时按下按钮时,问题非常重要,即点击的变量不会改变。我已经放了一个if语句来评估点击的变量但是即使我一直按下按钮也总是设置为假。

按钮所在的代码(camera_connection_fragment)如下:

public class CameraConnectionFragment extends Fragment{

  boolean clicked = false;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup  container,Bundle savedInstanceState) {
    View view =  inflater.inflate(R.layout.camera_connection_fragment, container, false);
    Button button = (Button) view.findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {

        clicked = true;

      }
    });

    return view;

    }

}

你知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

你在哪里放置检查点击变量的if语句?也许,您的代码在触发单击侦听器之前已经传递了if语句。请查看以下代码:

clicked

在上面的代码中,onStart变量检查onClick始终为false,因为它已在您的点击侦听器被触发之前执行。如果可以,您可以在单击侦听器的g_object_set (G_OBJECT (queue), "max-size-bytes", 0, NULL); g_object_set (G_OBJECT (queue), "max-size-buffers", 0, NULL); g_object_set (G_OBJECT (queue), "max-size-time", (guint64)threshold_time, NULL); /* Drop old buffers when max-size-time is reached */ g_object_set (G_OBJECT (queue), "leaky", 2, NULL); 方法中检查单击的变量。如果你分享你放置if逻辑的地方,我们可以提供更合适的答案。