我正在开发一个Android应用程序,我正在尝试为按钮设置visiblity 这里有两项活动
1)Activity2包含note1,note2,note3等按钮。 2)Activity1随附click'g上的按钮将改变上述按钮的可见性,即note1,note2,note3。
嘿,任何人都可以帮助我PLZ
活动-1: 公共类Activity_2扩展了Activity实现的OnSeekBarChangeListener {
SeekBar sb1, sb2, sb3, sb4;
Button n1, n2, n3;
private TextView name1, name2, name3, name4, add_row,
pro_a_e_name1, pro_a_e_name2, pro_a_e_name3, pro_a_e_name4,
status1, status2, status3, status4;
private ProgressBar prg_br1, prg_br2, prg_br3, prg_br4;
private int prg_br_Status1=0, prg_br_Status2=0, prg_br_Status3=0, prg_br_Status4=0;
/*@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
n1= (Button) findViewById(R.id.note1);
Bundle bun1 = getIntent().getExtras();
int val1 = bun1.getInt("VAL1");
if(val1==1);
{
n1.setVisibility(View.VISIBLE);
}
}
}
活动-2: 公共类note1扩展了Activity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.note1);
final TextView note1_1=(TextView)findViewById(R.id.note1_1);
Bundle extras=getIntent().getExtras();
String note1 = extras.getString("s1");
note1_1.setText(note1);
}
public void onBack(View v)
{
Intent back1= new Intent(note1.this, Activity_2.class);
Bundle b1= new Bundle();
String VAL1 = null;
b1.putInt(VAL1, 1);
back1.putExtras(b1);
startActivity(back1);
}
}
除了改变可见性之外,这正是我正在尝试做的事情 切换顺序:Act1至Act2至Act3至Act4 在这里,我正在改变能见度,同时回来 Act4到Act2
答案 0 :(得分:0)
你可以尝试这样的事情......
Button btn;
Button note1;
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
note1.setVisibility(View.GONE);
}
});
如果你需要在其他活动中做一些事情,只需通过意图传递数据。使用另一个活动的Oncreate()上的Bundle获取该值。
对于Ex:
如果您在Activity 1中按下了note1按钮,则为其设置一些默认值,然后将该值传递给其他活动。通过这种方式,您将知道单击了哪个按钮,然后只需按照上面的说明设置它的可见性。
答案 1 :(得分:0)
使用共享首选项存储按钮的可见性,从Activity1更新首选项以及在Activity2中获取首选项,并在onResume()函数中更新您的视图。
答案 2 :(得分:0)
这里我用伪代码编写
活动1:
活动2: 1.获取标志或自定义数据 2.根据您的数据类型将其放在整数或字符串中 3.如果flag为0,则设置可见性,否则执行某些操作
答案 3 :(得分:0)
有许多方法可以实现您想要的目标:
在调用startActivity(intent)
方法
使用SharedPreference
存储Button
的状态,并使用Activity2
中存储的值。
在public
中创建static
Activity1
个字段,然后在Activity2
的{{1}}方法中使用它们来设置onResume()
可见性< / p>
等...
答案 4 :(得分:0)
在Activity1上执行此操作
Button play;
play = (Button) findViewById(R.id.playId);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent nextActivity = new Intent(Activity1.this, Activity2.class);
Bundle bundle = new Bundle();
bundle.putInt("VAL", 1);
nextActivity.putExtras(bundle);
startActivity(nextActivity);
}
});
Activity2上的执行此操作:
Bundle bun=getIntent().getExtras();
int val=bun.getInt("VAL");
.
.
.
if(val==1)
{
note1.setVisibility(View.VISIBLE);
note2.setVisibility(View.VISIBLE);
note3.setVisibility(View.VISIBLE);
}
它将解决您的问题
答案 5 :(得分:0)
在上一个活动中按下按钮&#34;静态&#34;例如,在后面的下一个活动中设置像previousActivity.Button.setVisibility(View.VISIBLE);
我已经做到了并解决了我的问题