Android установлен в одном действии, а затем появляется кнопка в другой активности

Вопрос говорит все. Представьте, что есть 2 активности: «Активность A» и «Активность B». «Активность A» содержит флажок, когда его отмеченная кнопка должна отображаться в «Деятельности B», когда ее непроверенная кнопка должна скрываться от «Активность B»,

Ниже основная деятельность

public class MainActivity extends ActionBarActivity { private BubblesManager bubblesManager; private boolean isCheckedValue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initializeBubblesManager(); final Button add = (Button) findViewById(R.id.add); add.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { addNewBubble(); add.setEnabled(false); } }); CheckBox checkBox = (CheckBox)findViewById(R.id.add_fb); checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { isCheckedValue = isChecked; Intent intent = new Intent(MainActivity.this, PopUpWindow.class); intent.putExtra("yourBoolName", isCheckedValue ); } }); } private void addNewBubble() { BubbleLayout bubbleView = (BubbleLayout)LayoutInflater.from(MainActivity.this).inflate(R.layout.bubble_layout, null); bubbleView.setOnBubbleRemoveListener(new BubbleLayout.OnBubbleRemoveListener() { @Override public void onBubbleRemoved(BubbleLayout bubble) { finish(); System.exit(0); } }); bubbleView.setOnBubbleClickListener(new BubbleLayout.OnBubbleClickListener() { @Override public void onBubbleClick(BubbleLayout bubble) { Intent in = new Intent(MainActivity.this, PopUpWindow.class); startActivity(in); } }); bubbleView.setShouldStickToWall(true); bubblesManager.addBubble(bubbleView, 60, 20); } 

Ниже приведена следующая деятельность aka 'activity B'

 public class PopUpWindow extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pop_up_window); DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int width = dm.widthPixels; int height = dm.heightPixels; getWindow().setLayout((int)(width*.8),(int)(height*.6)); Boolean yourBool = getIntent().getBooleanExtra("yourBoolName",false); Button fbbutton1 = (Button)findViewById(R.id.fbbutton1); if(yourBool){ //For Displaying Button fbbutton1.setVisibility(View.VISIBLE); } } 

Ниже приведен код XML для кнопки, которую я хочу показать при щелчке по галочке

 <Button android:visibility="gone" android:id="@+id/fbbutton1" android:onClick="button" android:background="@drawable/fbcircle" android:layout_width="50dp" android:layout_height="50dp" /> 

Solutions Collecting From Web of "Android установлен в одном действии, а затем появляется кнопка в другой активности"

 public class MainActivity extends ActionBarActivity { private BubblesManager bubblesManager; private boolean isCheckedValue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initializeBubblesManager(); final Button add = (Button) findViewById(R.id.add); add.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { addNewBubble(); add.setEnabled(false); } }); CheckBox checkBox = (CheckBox)findViewById(R.id.add_fb); checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { isCheckedValue = isChecked; // un-comment this code if you want to go to second activity when check change // // Intent intent = new Intent(MainActivity.this, PopUpWindow.class); // intent.putExtra("yourBoolName", isCheckedValue ); // startActivity(intent); } }); } private void addNewBubble() { BubbleLayout bubbleView = (BubbleLayout)LayoutInflater.from(MainActivity.this).inflate(R.layout.bubble_layout, null); bubbleView.setOnBubbleRemoveListener(new BubbleLayout.OnBubbleRemoveListener() { @Override public void onBubbleRemoved(BubbleLayout bubble) { finish(); System.exit(0); } }); bubbleView.setOnBubbleClickListener(new BubbleLayout.OnBubbleClickListener() { @Override public void onBubbleClick(BubbleLayout bubble) { Intent in = new Intent(MainActivity.this, PopUpWindow.class); in.putExtra("yourBoolName", isCheckedValue ); startActivity(in); } }); bubbleView.setShouldStickToWall(true); bubblesManager.addBubble(bubbleView, 60, 20); } } public class PopUpWindow extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pop_up_window); DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int width = dm.widthPixels; int height = dm.heightPixels; getWindow().setLayout((int)(width*.8),(int)(height*.6)); Boolean yourBool = getIntent().getBooleanExtra("yourBoolName",false); Button fbbutton1 = (Button)findViewById(R.id.fbbutton1); if(yourBool){ //For Displaying Button fbbutton1.setVisibility(View.VISIBLE); } } } 

Отправьте логическое значение с комплектом намерений в упражнении B., если это истинная кнопка show или скрыть ее.

  //global value private boolean isCheckedValue; CheckBox checkBox = (CheckBox)findViewById(R.id.chkbox1); checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { isCheckedValue = isChecked; //first set value then assign to boolean extra. Intent intent = new Intent(MainActivity.this, PopUpWindow.class); intent.putExtra("yourBoolName", isCheckedValue ); startActivity(intent); } }); } 

Отправлять с умыслом

 Intent intent = new Intent(this, AcitivityB.class); intent.putExtra("yourBoolName", isCheckedValue ); startActivity(intent) 

Обрабатывать, что на Acitive B

 Boolean yourBool = getIntent().getExtras().getBoolean("yourBoolName"); if(yourBool){ //display button } else{ //hide button } 

Используйте boolean isChecked 'Activity A' в этом состоянии сохранения состояния, передайте его в «Activity B», используя эту логическую видимость для вашего представления в «Activity B».

Измените свою активность «A»:

 public class MainActivity extends ActionBarActivity { private BubblesManager bubblesManager; private boolean isCheckedValue; private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initializeBubblesManager(); final Button add = (Button) findViewById(R.id.add); add.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { addNewBubble(); add.setEnabled(false); } }); intent = new Intent(MainActivity.this, PopUpWindow.class); CheckBox checkBox = (CheckBox)findViewById(R.id.add_fb); checkBox.setOnCheckedChangeListener (newCompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { isCheckedValue = isChecked; intent.putExtra("yourBoolName", isCheckedValue ); } }); } private void addNewBubble() { BubbleLayout bubbleView = (BubbleLayout)LayoutInflater.from(MainActivity.this).inflate(R.layout.bubble_layout, null); bubbleView.setOnBubbleRemoveListener(new BubbleLayout.OnBubbleRemoveListener() { @Override public void onBubbleRemoved(BubbleLayout bubble) { finish(); System.exit(0); } }); bubbleView.setOnBubbleClickListener(new BubbleLayout.OnBubbleClickListener() { @Override public void onBubbleClick(BubbleLayout bubble) { startActivity(intent); } }); bubbleView.setShouldStickToWall(true); bubblesManager.addBubble(bubbleView, 60, 20); } 

И получите дополнительную ценность в Activity 'B'

  boolean checkedStatus= getIntent().getBooleanExtra("yourBoolName",false); if(checkedStatus){ // Do your job here }else{ }