我正在创建一个包含动态添加按钮的Android应用程序。当我在一个活动中单击按钮时,按钮将动态创建另一个活动。是否可以在单击一个活动中的按钮时创建按钮,然后在另一个活动中创建一个按钮。请帮助我。
package com.example.dynamicbutton;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
Button Add_Button;
Activity_2 act_child;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Add_Button = (Button)findViewById(R.id.button_add);
Add_Button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent invisible = new Intent(MainActivity.this,Activity_2.class);
startActivity(invisible);
act_child.visible.setVisibility(View.GONE);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:1)
解决方案很简单。请在第一个活动中关注。 如果单击按钮,请使用以下内容。
Intent invisible = new Intent(MainActivity.this,Activity_2.class);
//here add this line
.putExtra("visibility", "1");
startActivity(invisible);
其他
Intent invisible = new Intent(MainActivity.this,Activity_2.class);
//here add this line
.putExtra("visibility", "0");
startActivity(invisible);
在你的第二个活动中:
String visibility = getIntent().getStringExtra("visibility");
if (visibility.equals("1")){
act_child.visible.setVisibility(View.VISIBLE);
}else{
act_child.visible.setVisibility(View.GONE);
}
答案 1 :(得分:1)
不要公开变量。将您的设计更改为
1]将一些变量传递给Second Activity。 (在按钮中单击第一个活动)。
2]获取Second Activty&中的变量改变Button的可见性(根据该变量在第二个活动中)
Intent i = new Intent(CurrentActivity.this,SecondActivity.class);
i.putExtra("flag","show");
startActivity(i);
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("flag");
if(value.equals("show")){
button1.setVisible(View.Visible);
}
else{
button1.setVisible(View.Gone);
}