Android 一个片段的OnClickListener也在另一个片段中被激发

Android 一个片段的OnClickListener也在另一个片段中被激发,android,android-fragments,android-tabs,Android,Android Fragments,Android Tabs,我正在实现可切换选项卡。我有3个选项卡。在最后一个选项卡中有4个按钮,单击将启动另一个片段活动。但当我在第二个选项卡中单击“可用空间”时,同一个单击将被触发。请帮助我处理此isuue 这是我的复杂项目链接 此onclicklistener在相邻片段中被激发 记录器碎片 package com.krazzyplayer; import java.util.ArrayList; import java.util.HashMap; import android.app.SearchManager;

我正在实现可切换选项卡。我有3个选项卡。在最后一个选项卡中有4个按钮,单击将启动另一个片段活动。但当我在第二个选项卡中单击“可用空间”时,同一个单击将被触发。请帮助我处理此isuue

这是我的复杂项目链接

此onclicklistener在相邻片段中被激发

记录器碎片

package com.krazzyplayer;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.SearchManager;
import android.content.ComponentName;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.SearchView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

public class RecordFragment extends Fragment {

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

        return view;
    }



}

对不可见的片段禁用onClick方法。要执行此操作,请添加此代码-

if(!getUserVisibleHint())
{return false;}

在每个片段的OnClick方法的第一行之前,这样,如果片段不可见,OnClick方法将不会执行。

您所描述的是不可能的。张贴你的“相邻”片段的代码。当我看到这件事时,我也感到震惊。请提供一些建议这看起来是不可能的。尝试为您的资源元素提供不同的ID(虽然这不重要,但我会先尝试)我正在维护不同的ID发布您的frags.if(getUserVisibleHint()){albums.setOnClickListener(AlbumsFragment.this);songs.setOnClickListener(AlbumsFragment.this);Artisters.setOnClickListener(AlbumsFragment.this);playlist.setOnClickListener(AlbumsFragment.this);}我是这样做的。如果我单击该选项卡特定选项卡,则onclick事件将成功触发,但当我滚动其余片段时,onclick事件甚至在其自己的片段中也不会触发。@user1517029请按照建议将代码放入onClickMethod()中,然后重试。您正在执行其他操作。
if(!getUserVisibleHint())
{return false;}