如何以编程方式隐藏按钮功能?

时间:2014-06-10 08:18:28

标签: android

当我从一个屏幕(Activity1)点击一个按钮1时,iam显示一个另一个屏幕(调用一个Activity2),其中包含一个HeaderName和一些带有点击的UI元素事件

如果我点击button2,我想显示具有不同HeaderName的相同屏幕以及相同UI元素的不同点击事件。

我的意思是当我点击6个按钮(来自Activity1)时,我希望同一个屏幕具有不同的标题和不同的功能。

我对此很新,怎么做?

请帮助

1 个答案:

答案 0 :(得分:2)

您可以通过各种方式实现这一目标

1.使用Fragments

在这种情况下,您不必在Activity1中单击button1时显示第二个活动。

相反,在Activity1中使用片段,其中将放置所有按钮。当您单击按钮说按钮1时,您将显示(或替换当前片段)与该按钮相关的片段,如下所示。

   FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
   transaction.replace(R.id.fragment_container, newFragment);
   transaction.addToBackStack("fragment2");
   transaction.commit();

这里要注意事务有addToBackStack()方法,这将有助于返回初始片段(包含所有按钮)

2.使用活动

在这种情况下,您将发送带有Activity的标志/整数值以启动第二个活动

  Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
  intent.putExtra("option",1); // for button1 click
  startActivity(intent);

在SecondActivity中,使用getExtra()获取此整数

  Bundle extras = getIntent().getExtras();
  int option = extras.getInt("option");

现在您有关于在Activity1中单击了哪个按钮的信息。使用此值相应地填充UI

如果您在ActionBar中使用HeaderName,则在这两种情况下都可以相应地更改ActionBar标题

相关问题