Я хочу сделать кнопку, которая переходит в новое действие, но в каком-то состоянии. если я использовал кнопку1, то показывал данные об А, а если использовал кнопку2, то отображал данные о Б.
Я пытался создать новую активность для каждой кнопки, но мне нужно создать новый класс, верно? вот почему я просто хочу использовать ЕСЛИ, как я уже говорил
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) {
Intent intent = new Intent(MakeupMenu.this, MakeupActivity.class);
startActivity(intent);
}
});
это мой код для каждой кнопки, как поставить IF для каждой кнопки? я должен поместить код IF здесь (MakeupMenu.class) или в новом действии с именем MakeActivity.class?
🤔 А знаете ли вы, что...
С Java можно создавать многопоточные серверы для обработки запросов клиентов.
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, используя какой-нибудь пошаговый материал (любая хорошая книга по Android или сайт).
Я предлагаю вам использовать метод передачи данных через намерение. Это позволит 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 получите данные и выберите, что с ними показывать. Создайте 2 отдельных макета в папке res/layout. Назовем их 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);
}