我想使按钮在某些情况下进入新的活动。如果我使用了button1,则显示有关A的数据,如果使用button2,则显示有关B的数据。
我试图为每个按钮进行新的活动,但是我必须重新上课吗?所以这就是为什么我只想像我之前说的那样使用IF
import { CookieService } from 'ngx-cookie-service';
constructor( private cookieService: CookieService )
logout(){
this.cookieService.deleteAll();
}
那是我每个按钮的代码,如何为每个按钮添加IF?我必须将IF代码放在这里(MakeupMenu.class)或新的名为MakeActivity.class的活动中吗?
答案 0 :(得分:0)
if
在这里完全没有必要。您为两个按钮单击侦听器设置了相同的意图。
Button move_found = findViewById(R.id.btn_found);
Button move_conc = findViewById(R.id.btn_conc);
move_found.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MakeupMenu.this, MakeupActivity.class);
startActivity(intent);
}
});
move_conc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//This intent also takes you to MakeupActivity
//Intent intent = new Intent(MakeupMenu.this, MakeupActivity.class);
//Instead, you probably want to point to a different activity
Intent intent = new Intent(MakeupMenu.this, MakeActivity.class);
startActivity(intent);
}
});
P.S-了解Java的基本语言构造,然后使用一些指导材料(任何优秀的android书籍或site)学习android。
答案 1 :(得分:0)
我建议您使用通过意图传递数据的方法。这样,MakeActivity可以从两个按钮中的任何一个接收数据,并决定显示哪个视图。
对按钮使用以下代码
move_found.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MakeupMenu.this, MakeupActivity.class);
intent.putExtra("data,"button1");
startActivity(intent)
}
});
move_conc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MakeupMenu.this, MakeupActivity.class);
intent.putExtra("data","button2");
startActivity(intent);
}
});
然后在您的MakeupActivity中接收数据并选择要显示的内容。在res / layout文件夹中创建2个单独的布局。让我们称它们为layout1.xml和layout2.xml。\ layout1.xml用于单击按钮1之后的视图,而layout2.xml用于其他按钮的视图。现在,在您的MakeupActivity.class中,编写以下代码
Intent intent = getIntent();
String data = intent.getStringExtra("data");
if (data.equals("button1")){
setContentView(R.layout.layout1);
}
if (value.equals("button2")){
setContentView(R.layout.layout2);
}