Как создать сенсорное событие во фрагменте для добавления / удаления узлов (с помощью gthstream)? - PullRequest
0 голосов
/ 23 марта 2019

Я создаю приложение, которое создает графики (узлы и ребра), я хотел реализовать сенсорный метод для создания узла, но у меня возникли трудности, потому что когда я касаюсь холста, чтобы добавить узел, он неработать, но если я щелкну в нижнем меню действия работ

, я попытался реализовать View.OnTouchListener, однако это не распознает касание в FrameLayout, что с фрагментом, где я отображаю график.

моя деятельность:

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<FrameLayout
  android:id="@+id/layoutFragment"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:layout_above="@+id/bottomNavView"
  android:layout_alignParentStart="true"
  android:layout_alignParentTop="true"
  android:layout_alignParentEnd="true">

<fragment
  android:id="@+id/fragment_tag"    
  android:name="org.graphstream.ui.android_viewer.util.DefaultFragment"
  android:layout_width="match_parent"
  android:layout_height="match_parent" />

</FrameLayout>

<include
   android:id="@+id/bottomNavView"
   layout="@layout/bottom_nav_view" />
</RelativeLayout>

это моя ява (я пытался коснуться экрана и показать тост):

    public class FragmentGrafo extends Fragment{

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

        view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                 if (event.getAction() == MotionEvent.ACTION_DOWN){
                    Toast.makeText(getActivity(), "Não pode mais add 
     nós", 
     Toast.LENGTH_SHORT).show();
                }
                return true;
            }
        });

        return view;
    }

Я надеюсь, что смогу коснутьсяна экране и добавьте узел, или нажмите и удалите номер, выберите узел 1, а затем узел 2 и создайте ребро

...