OnClickListener не стреляет во фрагмент - PullRequest
0 голосов
/ 21 ноября 2018

Я уже искал ответы на форуме, но не смог найти ни одного вопроса, полностью соответствующего моей ситуации.

У меня проблема с включением сглаживающего фильтра.Тот же кусок кода работает в других частях приложения, что меня смущает.

Это мой код:

private static  final int RESULT_LOAD_IMAGES = 1;
TextView filepath_name;
EditText varighed, navn;
Spinner genre, kategori;
Button uploadImg, opret_knap;

@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = super.onCreateView(inflater, container, savedInstanceState);

    uploadImg = (Button) view.findViewById(R.id.billede_button);
    opret_knap = (Button) view.findViewById(R.id.addOpskrift);
    varighed = (EditText) view.findViewById(R.id.opskrift_varighed);
    navn = (EditText) view.findViewById(R.id.opskrift_navn);
    genre = (Spinner) view.findViewById(R.id.opskrift_genre);
    kategori = (Spinner) view.findViewById(R.id.opskrift_kategori);

    filepath_name = (TextView) view.findViewById(R.id.billede_path);
    uploadImg.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
             Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
             startActivityForResult(galleryIntent, RESULT_LOAD_IMAGES);
         }

    });

    opret_knap.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Tilføjopskrift();
        }
    });

    return view;
}

И XML

<Button
        android:id="@+id/billede_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Tilføj billede"
        />
<TextView android:id="@+id/billede_path"
          android:layout_width="wrap_content"
          android:layout_height="32dp"
          android:layout_gravity="center" />

<Button android:id="@+id/addOpskrift"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="30dp"
        android:text="Opret"/>

Ответы [ 3 ]

0 голосов
/ 21 ноября 2018

Кажется, проблема в том, что вы не указываете макет, к которому должен обращаться ваш фрагмент.

Вместо:

super.onCreateView()

Используйте

View view = inflater.inflate(R.layout.xyz, container, false);

Надеюсь, чтопомогает.

0 голосов
/ 21 ноября 2018

Ваша проблема в том, что вы не можете правильно отразить новый взгляд.Вам нужно использовать:

View view = inflater.inflate(R.layout.your_file_name, container, false);

вместо:

View view = super.onCreateView(inflater, container, savedInstanceState);.

Просто скопируйте и вставьте.

private static  final int RESULT_LOAD_IMAGES = 1;
TextView filepath_name;
EditText varighed, navn;
Spinner genre, kategori;
Button uploadImg, opret_knap;


@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, @Nullable Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
     View view = inflater.inflate(R.layout.your_file_name, container, false);
    uploadImg = (Button) view.findViewById(R.id.billede_button);
    opret_knap = (Button) view.findViewById(R.id.addOpskrift);
    varighed = (EditText) view.findViewById(R.id.opskrift_varighed);
    navn = (EditText) view.findViewById(R.id.opskrift_navn);
    genre = (Spinner) view.findViewById(R.id.opskrift_genre);
    kategori = (Spinner) view.findViewById(R.id.opskrift_kategori);

    filepath_name = (TextView) view.findViewById(R.id.billede_path);
    uploadImg.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
             Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
             startActivityForResult(galleryIntent, RESULT_LOAD_IMAGES);
         }

    });

    opret_knap.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Tilføjopskrift();
        }
    });

    return view;
}
0 голосов
/ 21 ноября 2018

В вашем XML вы дали идентификатор opret_knap вам Кнопка

<Button
    android:id="@+id/opret_knap"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="30dp"
    android:text="Opret"/>

Но вы получаете к нему доступ с помощью addOpskrift

Изменить

opret_knap = (Button) view.findViewById(R.id.addOpskrift);

до

 opret_knap = (Button) view.findViewById(R.id.opret_knap);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...