在显示片段时阻止单击活动中的按钮

时间:2015-03-02 20:31:08

标签: android fragment

我遇到ActivityFragment之间互动的问题。

我有main Activityinto Activity,其中包含布局按钮和文字输入。当我打开Fragment main中的Activity时,我仍然可以点击Activity中的按钮,再次打开Fragment ,或在文本输入中输入文本。

我一直在寻求帮助两个小时,但我还没有找到答案!

这是我从Fragment开启Activity的方式:

FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            SignUp fragment = new SignUp();
            fragmentTransaction.add(R.id.fragment_content, fragment);
            fragmentTransaction.commit();

这是图片: picture

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,并搜索了几个小时找到解决方案或原因,我找到了。

当您向活动添加片段时,片段和活动两者的功能将响应屏幕上的触摸。

如果你想触及片段,只需在片段的onViewCreated函数中创建一个空的setOnTouchListener即可完成。

Java中的代码

class AClass:

    print('Your class object is being built...')

    def __init__(self, welcome):
        self.welcome = welcome
        print('Done! You can use it now!')

    def use_it(self, name):
        print(self.welcome, name + '!')

AClass('Welcome').use_it('World')

Kotlin的代码

# Create dataframe from the dates in the first level of the index.
df = pd.DataFrame(dft2.index.get_level_values(0), columns=['date'], index=dft2.index)

# Add a `year` column that gets the year of each date.
df = df.assign(year=[d.year for d in df['date']])

# Find the minimum date of each year by grouping.
min_annual_dates = df.groupby('year')['date'].min().tolist()

# Filter the original dataframe based on these minimum dates by year.
>>> dft2.loc[(min_annual_dates, slice(None)), :]
                     A
2013-01-31 a  1.087274
           b  1.488553
2014-01-31 a  0.119801
           b  0.922468
2015-01-31 a -0.262440
           b  0.642201
2016-01-31 a  1.144664
           b  0.410701

答案 1 :(得分:0)

对所有人来说。我找到了像jjm这样的解决方案:

"使用两个片段可能更有效,一个片段包含当前在活动中的控件,以及您当前拥有的片段。第一个片段中的按钮可以告诉活动显示第二个片段。"

我只是用活动组件创建新片段并替换片段。 但我仍然不明白为什么我们可以通过片段布局点击活动布局上的按钮?为什么它有用?