Android 我在一个活动中有两个按钮,如果第一个按钮被按下,那么另一个活动中的两个按钮应该被禁用
在名为“选择”的活动中,我有两个按钮“雇员”和“雇主”,如果按下“雇员”按钮,则应禁用“主页”活动中的两个按钮“addEmployee”和“generateReport”Android 我在一个活动中有两个按钮,如果第一个按钮被按下,那么另一个活动中的两个按钮应该被禁用,android,android-button,Android,Android Button,在名为“选择”的活动中,我有两个按钮“雇员”和“雇主”,如果按下“雇员”按钮,则应禁用“主页”活动中的两个按钮“addEmployee”和“generateReport” 选择活动 public class Selection extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
选择活动
public class Selection extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
final Button btn_Employee = (Button) findViewById(R.id.btn_Employee);
Button btn_Employer = (Button) findViewById(R.id.btn_Employer);
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i);
}
}
});
btn_Employer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployer) {
}
});
}
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
markAttendance.setOnClickListener(this);
viewHolidays.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holidays();
}
});
addEmployee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddEmployee();
}
});
generateReport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report();
}
});
}
private void AddEmployee() {
Intent addIntent = new Intent(this, EmployeeDetails.class);
startActivity(addIntent);
}
private void report() {
Intent webIntent = new Intent(this, TempWeb.class);
startActivity(webIntent);
}
private void holidays() {
Intent holidayIntent = new Intent(this, Holiday.class);
startActivity(holidayIntent);
}
@Override
public void onClick(View v) {
attendance();
}
private void attendance() {
Intent attendanceIntent = new Intent(this, MarkAttendance.class);
startActivity(attendanceIntent);
}
}
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i).putExtra("addEmployee", false).putExtra("reports", false));
}
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
//getExtra value
boolean addEmployee = getIntent().getBooleanExtra("addEmployee", false);
boolean reports = getIntent().getBooleanExtra("reports", false);
if(addEmployee){
addEmployee.setEnable(false);
}
if(reports){
generateReport.setEnable(false);
}
}
家庭活动
public class Selection extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
final Button btn_Employee = (Button) findViewById(R.id.btn_Employee);
Button btn_Employer = (Button) findViewById(R.id.btn_Employer);
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i);
}
}
});
btn_Employer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployer) {
}
});
}
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
markAttendance.setOnClickListener(this);
viewHolidays.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holidays();
}
});
addEmployee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddEmployee();
}
});
generateReport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report();
}
});
}
private void AddEmployee() {
Intent addIntent = new Intent(this, EmployeeDetails.class);
startActivity(addIntent);
}
private void report() {
Intent webIntent = new Intent(this, TempWeb.class);
startActivity(webIntent);
}
private void holidays() {
Intent holidayIntent = new Intent(this, Holiday.class);
startActivity(holidayIntent);
}
@Override
public void onClick(View v) {
attendance();
}
private void attendance() {
Intent attendanceIntent = new Intent(this, MarkAttendance.class);
startActivity(attendanceIntent);
}
}
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i).putExtra("addEmployee", false).putExtra("reports", false));
}
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
//getExtra value
boolean addEmployee = getIntent().getBooleanExtra("addEmployee", false);
boolean reports = getIntent().getBooleanExtra("reports", false);
if(addEmployee){
addEmployee.setEnable(false);
}
if(reports){
generateReport.setEnable(false);
}
}
感谢您的帮助 只需传递在您的“意图到家”活动中按下的按钮,并在您的“意图到家”活动中从“意图”获取数据,然后使用“如果”条件应用您的按钮禁用 因此,如果您的家庭活动仅由选择活动打开,则可以使用意图传递此数据,否则可以使用SharedReference保存数据,然后在家庭活动中检索此首选项 要通过intent传递数据和检索数据,请参阅此处-
要通过共享首选项存储和检索,请参阅此处-只需将您的意图中按下的按钮传递给家庭活动,并在家庭活动中从意图中获取数据,并使用if条件应用您的按钮禁用 因此,如果您的家庭活动仅由选择活动打开,则可以使用意图传递此数据,否则可以使用SharedReference保存数据,然后在家庭活动中检索此首选项 要通过intent传递数据和检索数据,请参阅此处-
要通过共享首选项存储和检索,请参阅此处-通过意图传递值以检查调用了哪个按钮
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
i.putExtra("BUTTON_CLICK","EMPLOYEE");
startActivity(i);
}
}
});
btn_Employer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployer) {
Intent i = new Intent(Selection.this, HomeActivity.class);
i.putExtra("BUTTON_CLICK","EMPLOYER");
startActivity(i);
}
});
和在家活动,以获得目的价值
String buttonValue = getIntent().getStringExtra("BUTTON_CLICK");
通过Intent传递一个值以检查调用了哪个按钮
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
i.putExtra("BUTTON_CLICK","EMPLOYEE");
startActivity(i);
}
}
});
btn_Employer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployer) {
Intent i = new Intent(Selection.this, HomeActivity.class);
i.putExtra("BUTTON_CLICK","EMPLOYER");
startActivity(i);
}
});
和在家活动,以获得目的价值
String buttonValue = getIntent().getStringExtra("BUTTON_CLICK");
选择活动
public class Selection extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
final Button btn_Employee = (Button) findViewById(R.id.btn_Employee);
Button btn_Employer = (Button) findViewById(R.id.btn_Employer);
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i);
}
}
});
btn_Employer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployer) {
}
});
}
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
markAttendance.setOnClickListener(this);
viewHolidays.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holidays();
}
});
addEmployee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddEmployee();
}
});
generateReport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report();
}
});
}
private void AddEmployee() {
Intent addIntent = new Intent(this, EmployeeDetails.class);
startActivity(addIntent);
}
private void report() {
Intent webIntent = new Intent(this, TempWeb.class);
startActivity(webIntent);
}
private void holidays() {
Intent holidayIntent = new Intent(this, Holiday.class);
startActivity(holidayIntent);
}
@Override
public void onClick(View v) {
attendance();
}
private void attendance() {
Intent attendanceIntent = new Intent(this, MarkAttendance.class);
startActivity(attendanceIntent);
}
}
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i).putExtra("addEmployee", false).putExtra("reports", false));
}
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
//getExtra value
boolean addEmployee = getIntent().getBooleanExtra("addEmployee", false);
boolean reports = getIntent().getBooleanExtra("reports", false);
if(addEmployee){
addEmployee.setEnable(false);
}
if(reports){
generateReport.setEnable(false);
}
}
家庭活动
public class Selection extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
final Button btn_Employee = (Button) findViewById(R.id.btn_Employee);
Button btn_Employer = (Button) findViewById(R.id.btn_Employer);
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i);
}
}
});
btn_Employer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployer) {
}
});
}
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
markAttendance.setOnClickListener(this);
viewHolidays.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holidays();
}
});
addEmployee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddEmployee();
}
});
generateReport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report();
}
});
}
private void AddEmployee() {
Intent addIntent = new Intent(this, EmployeeDetails.class);
startActivity(addIntent);
}
private void report() {
Intent webIntent = new Intent(this, TempWeb.class);
startActivity(webIntent);
}
private void holidays() {
Intent holidayIntent = new Intent(this, Holiday.class);
startActivity(holidayIntent);
}
@Override
public void onClick(View v) {
attendance();
}
private void attendance() {
Intent attendanceIntent = new Intent(this, MarkAttendance.class);
startActivity(attendanceIntent);
}
}
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i).putExtra("addEmployee", false).putExtra("reports", false));
}
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
//getExtra value
boolean addEmployee = getIntent().getBooleanExtra("addEmployee", false);
boolean reports = getIntent().getBooleanExtra("reports", false);
if(addEmployee){
addEmployee.setEnable(false);
}
if(reports){
generateReport.setEnable(false);
}
}
选择活动
public class Selection extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
final Button btn_Employee = (Button) findViewById(R.id.btn_Employee);
Button btn_Employer = (Button) findViewById(R.id.btn_Employer);
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i);
}
}
});
btn_Employer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployer) {
}
});
}
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
markAttendance.setOnClickListener(this);
viewHolidays.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holidays();
}
});
addEmployee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddEmployee();
}
});
generateReport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report();
}
});
}
private void AddEmployee() {
Intent addIntent = new Intent(this, EmployeeDetails.class);
startActivity(addIntent);
}
private void report() {
Intent webIntent = new Intent(this, TempWeb.class);
startActivity(webIntent);
}
private void holidays() {
Intent holidayIntent = new Intent(this, Holiday.class);
startActivity(holidayIntent);
}
@Override
public void onClick(View v) {
attendance();
}
private void attendance() {
Intent attendanceIntent = new Intent(this, MarkAttendance.class);
startActivity(attendanceIntent);
}
}
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i).putExtra("addEmployee", false).putExtra("reports", false));
}
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
//getExtra value
boolean addEmployee = getIntent().getBooleanExtra("addEmployee", false);
boolean reports = getIntent().getBooleanExtra("reports", false);
if(addEmployee){
addEmployee.setEnable(false);
}
if(reports){
generateReport.setEnable(false);
}
}
家庭活动
public class Selection extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
final Button btn_Employee = (Button) findViewById(R.id.btn_Employee);
Button btn_Employer = (Button) findViewById(R.id.btn_Employer);
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i);
}
}
});
btn_Employer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployer) {
}
});
}
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
markAttendance.setOnClickListener(this);
viewHolidays.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holidays();
}
});
addEmployee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AddEmployee();
}
});
generateReport.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report();
}
});
}
private void AddEmployee() {
Intent addIntent = new Intent(this, EmployeeDetails.class);
startActivity(addIntent);
}
private void report() {
Intent webIntent = new Intent(this, TempWeb.class);
startActivity(webIntent);
}
private void holidays() {
Intent holidayIntent = new Intent(this, Holiday.class);
startActivity(holidayIntent);
}
@Override
public void onClick(View v) {
attendance();
}
private void attendance() {
Intent attendanceIntent = new Intent(this, MarkAttendance.class);
startActivity(attendanceIntent);
}
}
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
Intent i = new Intent(Selection.this, HomeActivity.class);
startActivity(i).putExtra("addEmployee", false).putExtra("reports", false));
}
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ImageButton markAttendance = (ImageButton) findViewById(R.id.markAttendance);
ImageButton viewHolidays = (ImageButton) findViewById(R.id.viewHolidays);
ImageButton addEmployee = (ImageButton) findViewById(R.id.addEmployee);
ImageButton generateReport = (ImageButton) findViewById(R.id.generateReport);
Toolbar toolbar = (Toolbar) findViewById(R.id.sign_in_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(getTitle());
//getExtra value
boolean addEmployee = getIntent().getBooleanExtra("addEmployee", false);
boolean reports = getIntent().getBooleanExtra("reports", false);
if(addEmployee){
addEmployee.setEnable(false);
}
if(reports){
generateReport.setEnable(false);
}
}
没有意图的两个类之间的交互: 创建以下帮助器类:
public class ChangeButtonStatusHelper {
public interface ChangeButtonsListener{
void twoButtonsDisabled();
}
public static ChangeButtonStatusHelper mInstance;
private ChangeButtonsListener mListener;
private boolean mState;
private ChangeButtonStatusHelper(){
//do nothing
}
public static ChangeButtonStatusHelper getInstance(){
if(mInstance == null){
mInstance = new ChangeButtonStatusHelper();
}
return mInstance;
}
public void setListener(ChangeButtonsListener mListener){
this.mListener = mListener;
}
public void stateChange(boolean mState){
if(mListener!=null){
this.mState = mState;
notifyStateChange();
}
}
public boolean getState(){
return mState;
}
private void notifyStateChange() {
mListener.onPriorityChanged();
}
}
在HomeActivity.class的onCreate()中编写以下代码
ChangeButtonStatusHelper.getInstance().setListener(new ChangeButtonsListener.twoButtonsDisabled() {
@Override
public void onPriorityChanged() {
if (ChangeButtonStatusHelper.getInstance().getState()) {
**Disable your buttons here**
}
}
});
在选择活动类中
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
ChangeButtonStatusHelper.getInstance().stateChange(true);
}
}
});
没有意图的两个类之间的交互:
创建以下帮助器类:
public class ChangeButtonStatusHelper {
public interface ChangeButtonsListener{
void twoButtonsDisabled();
}
public static ChangeButtonStatusHelper mInstance;
private ChangeButtonsListener mListener;
private boolean mState;
private ChangeButtonStatusHelper(){
//do nothing
}
public static ChangeButtonStatusHelper getInstance(){
if(mInstance == null){
mInstance = new ChangeButtonStatusHelper();
}
return mInstance;
}
public void setListener(ChangeButtonsListener mListener){
this.mListener = mListener;
}
public void stateChange(boolean mState){
if(mListener!=null){
this.mState = mState;
notifyStateChange();
}
}
public boolean getState(){
return mState;
}
private void notifyStateChange() {
mListener.onPriorityChanged();
}
}
在HomeActivity.class的onCreate()中编写以下代码
ChangeButtonStatusHelper.getInstance().setListener(new ChangeButtonsListener.twoButtonsDisabled() {
@Override
public void onPriorityChanged() {
if (ChangeButtonStatusHelper.getInstance().getState()) {
**Disable your buttons here**
}
}
});
在选择活动类中
btn_Employee.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed())
{
//markAttendance and generateReport button should be disabled
ChangeButtonStatusHelper.getInstance().stateChange(true);
}
}
});
您可以通过将一些数据传递给您的意图,这些数据可以在主页活动
中识别在选择活动
中按下的按钮
在员工按钮上的选择活动中按下:
Intent i = new Intent(Selection.this, HomeActivity.class);
intent.putExtra("IS_EMPLOYEE", true);
startActivity(i);
if(getIntent().getExtras().getBoolean("IS_EMPLOYEE")){
// do what you want to do on employee button press.
}
else{
// do what you want to do on employer button press.
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener,
SharedPreferences.OnSharedPreferenceChangeListener{
public static final String BTN_EMPLOYEE_PREFS_TAG = "employeeTag";
private ImageButton addEmployee;
private ImageButton generateReport;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
addEmployee = (ImageButton) findViewById(R.id.addEmployee);
generateReport = (ImageButton) findViewById(R.id.generateReport);
.
.
.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
.
.
.
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(BTN_EMPLOYEE_PREFS_TAG.equals(key)){
// listens to any changes made on this tag
boolean enableOrDisable = prefs.getBoolean(BTN_EMPLOYEE_PREFS_TAG, false);
addEmployee.setEnabled(enableOrDisable);
generateReport.setEnabled(enableOrDisable);
}
}
.
.
.
}
public class Selection extends AppCompatActivity{
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
findViewById(R.id.btn_Employee).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed()){
prefs.edit().putBoolean(BTN_EMPLOYEE_PREFS_TAG, false).apply();
// rest of your logic goes here.
}
}
});
.
.
.
}
.
.
.
}
在家庭活动中检查员工按钮是否按下,并相应地执行操作:
Intent i = new Intent(Selection.this, HomeActivity.class);
intent.putExtra("IS_EMPLOYEE", true);
startActivity(i);
if(getIntent().getExtras().getBoolean("IS_EMPLOYEE")){
// do what you want to do on employee button press.
}
else{
// do what you want to do on employer button press.
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener,
SharedPreferences.OnSharedPreferenceChangeListener{
public static final String BTN_EMPLOYEE_PREFS_TAG = "employeeTag";
private ImageButton addEmployee;
private ImageButton generateReport;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
addEmployee = (ImageButton) findViewById(R.id.addEmployee);
generateReport = (ImageButton) findViewById(R.id.generateReport);
.
.
.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
.
.
.
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(BTN_EMPLOYEE_PREFS_TAG.equals(key)){
// listens to any changes made on this tag
boolean enableOrDisable = prefs.getBoolean(BTN_EMPLOYEE_PREFS_TAG, false);
addEmployee.setEnabled(enableOrDisable);
generateReport.setEnabled(enableOrDisable);
}
}
.
.
.
}
public class Selection extends AppCompatActivity{
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
findViewById(R.id.btn_Employee).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed()){
prefs.edit().putBoolean(BTN_EMPLOYEE_PREFS_TAG, false).apply();
// rest of your logic goes here.
}
}
});
.
.
.
}
.
.
.
}
当按下“雇主”按钮时,也可以通过意图传递“假”值。你可以通过意图传递一些数据,这些数据可以在“家庭活动”
中识别在“选择活动”
中按下的按钮
在员工按钮上的选择活动中按下:
Intent i = new Intent(Selection.this, HomeActivity.class);
intent.putExtra("IS_EMPLOYEE", true);
startActivity(i);
if(getIntent().getExtras().getBoolean("IS_EMPLOYEE")){
// do what you want to do on employee button press.
}
else{
// do what you want to do on employer button press.
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener,
SharedPreferences.OnSharedPreferenceChangeListener{
public static final String BTN_EMPLOYEE_PREFS_TAG = "employeeTag";
private ImageButton addEmployee;
private ImageButton generateReport;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
addEmployee = (ImageButton) findViewById(R.id.addEmployee);
generateReport = (ImageButton) findViewById(R.id.generateReport);
.
.
.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
.
.
.
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(BTN_EMPLOYEE_PREFS_TAG.equals(key)){
// listens to any changes made on this tag
boolean enableOrDisable = prefs.getBoolean(BTN_EMPLOYEE_PREFS_TAG, false);
addEmployee.setEnabled(enableOrDisable);
generateReport.setEnabled(enableOrDisable);
}
}
.
.
.
}
public class Selection extends AppCompatActivity{
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
findViewById(R.id.btn_Employee).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed()){
prefs.edit().putBoolean(BTN_EMPLOYEE_PREFS_TAG, false).apply();
// rest of your logic goes here.
}
}
});
.
.
.
}
.
.
.
}
在家庭活动中检查员工按钮是否按下,并相应地执行操作:
Intent i = new Intent(Selection.this, HomeActivity.class);
intent.putExtra("IS_EMPLOYEE", true);
startActivity(i);
if(getIntent().getExtras().getBoolean("IS_EMPLOYEE")){
// do what you want to do on employee button press.
}
else{
// do what you want to do on employer button press.
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener,
SharedPreferences.OnSharedPreferenceChangeListener{
public static final String BTN_EMPLOYEE_PREFS_TAG = "employeeTag";
private ImageButton addEmployee;
private ImageButton generateReport;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
addEmployee = (ImageButton) findViewById(R.id.addEmployee);
generateReport = (ImageButton) findViewById(R.id.generateReport);
.
.
.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
.
.
.
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(BTN_EMPLOYEE_PREFS_TAG.equals(key)){
// listens to any changes made on this tag
boolean enableOrDisable = prefs.getBoolean(BTN_EMPLOYEE_PREFS_TAG, false);
addEmployee.setEnabled(enableOrDisable);
generateReport.setEnabled(enableOrDisable);
}
}
.
.
.
}
public class Selection extends AppCompatActivity{
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
findViewById(R.id.btn_Employee).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed()){
prefs.edit().putBoolean(BTN_EMPLOYEE_PREFS_TAG, false).apply();
// rest of your logic goes here.
}
}
});
.
.
.
}
.
.
.
}
当按下雇主按钮时,通过意图传递false
值。使用setEnabled(false)
从onClickListener
如果您想更方便地了解按钮是否被选中/按下,您可以使用按钮的setSelected(true)
(或false)功能,以便随时询问按钮是否被选中
希望有帮助:)使用setEnabled(false)
在onClickListener中禁用您想要禁用的按钮
如果您想更方便地了解按钮是否被选中/按下,您可以使用按钮的setSelected(true)
(或false)功能,以便随时询问按钮是否被选中
希望它有帮助:)如果您不需要传递意图,您可以通过注册到共享首选项更改侦听器来实现此行为。下面是一个例子:
HomeActivity.java:
Intent i = new Intent(Selection.this, HomeActivity.class);
intent.putExtra("IS_EMPLOYEE", true);
startActivity(i);
if(getIntent().getExtras().getBoolean("IS_EMPLOYEE")){
// do what you want to do on employee button press.
}
else{
// do what you want to do on employer button press.
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener,
SharedPreferences.OnSharedPreferenceChangeListener{
public static final String BTN_EMPLOYEE_PREFS_TAG = "employeeTag";
private ImageButton addEmployee;
private ImageButton generateReport;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
addEmployee = (ImageButton) findViewById(R.id.addEmployee);
generateReport = (ImageButton) findViewById(R.id.generateReport);
.
.
.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
.
.
.
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(BTN_EMPLOYEE_PREFS_TAG.equals(key)){
// listens to any changes made on this tag
boolean enableOrDisable = prefs.getBoolean(BTN_EMPLOYEE_PREFS_TAG, false);
addEmployee.setEnabled(enableOrDisable);
generateReport.setEnabled(enableOrDisable);
}
}
.
.
.
}
public class Selection extends AppCompatActivity{
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
findViewById(R.id.btn_Employee).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed()){
prefs.edit().putBoolean(BTN_EMPLOYEE_PREFS_TAG, false).apply();
// rest of your logic goes here.
}
}
});
.
.
.
}
.
.
.
}
Selection.java:
Intent i = new Intent(Selection.this, HomeActivity.class);
intent.putExtra("IS_EMPLOYEE", true);
startActivity(i);
if(getIntent().getExtras().getBoolean("IS_EMPLOYEE")){
// do what you want to do on employee button press.
}
else{
// do what you want to do on employer button press.
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener,
SharedPreferences.OnSharedPreferenceChangeListener{
public static final String BTN_EMPLOYEE_PREFS_TAG = "employeeTag";
private ImageButton addEmployee;
private ImageButton generateReport;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
addEmployee = (ImageButton) findViewById(R.id.addEmployee);
generateReport = (ImageButton) findViewById(R.id.generateReport);
.
.
.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
.
.
.
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(BTN_EMPLOYEE_PREFS_TAG.equals(key)){
// listens to any changes made on this tag
boolean enableOrDisable = prefs.getBoolean(BTN_EMPLOYEE_PREFS_TAG, false);
addEmployee.setEnabled(enableOrDisable);
generateReport.setEnabled(enableOrDisable);
}
}
.
.
.
}
public class Selection extends AppCompatActivity{
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
findViewById(R.id.btn_Employee).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed()){
prefs.edit().putBoolean(BTN_EMPLOYEE_PREFS_TAG, false).apply();
// rest of your logic goes here.
}
}
});
.
.
.
}
.
.
.
}
如果您不需要传递意图
就可以通过注册到OnSharedPreferenceChangeListener
来实现此行为。下面是一个例子:
HomeActivity.java:
Intent i = new Intent(Selection.this, HomeActivity.class);
intent.putExtra("IS_EMPLOYEE", true);
startActivity(i);
if(getIntent().getExtras().getBoolean("IS_EMPLOYEE")){
// do what you want to do on employee button press.
}
else{
// do what you want to do on employer button press.
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener,
SharedPreferences.OnSharedPreferenceChangeListener{
public static final String BTN_EMPLOYEE_PREFS_TAG = "employeeTag";
private ImageButton addEmployee;
private ImageButton generateReport;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
addEmployee = (ImageButton) findViewById(R.id.addEmployee);
generateReport = (ImageButton) findViewById(R.id.generateReport);
.
.
.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
.
.
.
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(BTN_EMPLOYEE_PREFS_TAG.equals(key)){
// listens to any changes made on this tag
boolean enableOrDisable = prefs.getBoolean(BTN_EMPLOYEE_PREFS_TAG, false);
addEmployee.setEnabled(enableOrDisable);
generateReport.setEnabled(enableOrDisable);
}
}
.
.
.
}
public class Selection extends AppCompatActivity{
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
findViewById(R.id.btn_Employee).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed()){
prefs.edit().putBoolean(BTN_EMPLOYEE_PREFS_TAG, false).apply();
// rest of your logic goes here.
}
}
});
.
.
.
}
.
.
.
}
Selection.java:
Intent i = new Intent(Selection.this, HomeActivity.class);
intent.putExtra("IS_EMPLOYEE", true);
startActivity(i);
if(getIntent().getExtras().getBoolean("IS_EMPLOYEE")){
// do what you want to do on employee button press.
}
else{
// do what you want to do on employer button press.
}
public class HomeActivity extends AppCompatActivity implements View.OnClickListener,
SharedPreferences.OnSharedPreferenceChangeListener{
public static final String BTN_EMPLOYEE_PREFS_TAG = "employeeTag";
private ImageButton addEmployee;
private ImageButton generateReport;
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
addEmployee = (ImageButton) findViewById(R.id.addEmployee);
generateReport = (ImageButton) findViewById(R.id.generateReport);
.
.
.
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
.
.
.
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(BTN_EMPLOYEE_PREFS_TAG.equals(key)){
// listens to any changes made on this tag
boolean enableOrDisable = prefs.getBoolean(BTN_EMPLOYEE_PREFS_TAG, false);
addEmployee.setEnabled(enableOrDisable);
generateReport.setEnabled(enableOrDisable);
}
}
.
.
.
}
public class Selection extends AppCompatActivity{
private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_selection);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
findViewById(R.id.btn_Employee).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View vEmployee) {
if(btn_Employee.isPressed()){
prefs.edit().putBoolean(BTN_EMPLOYEE_PREFS_TAG, false).apply();
// rest of your logic goes here.
}
}
});
.
.
.
}
.
.
.
}
只需将在您的“意向到家庭”活动中按下的按钮传递给“意向到家庭”活动,并在“意向到家庭”活动中从“意向”中获取数据,并使用“如果条件”应用您的按钮禁用。您可以将您的值放入“共享参考”中,然后访问“主要活动”!!或者您可以使用Intent
传递您的数据并获取您主要活动的数据!!!只需将在您的“意向到家庭”活动中按下的按钮传递给“意向到家庭”活动,并在“意向到家庭”活动中从“意向”中获取数据,并使用“如果条件”应用您的按钮禁用。您可以将您的值放入“共享参考”中,然后访问“主要活动”!!或者您可以使用Intent
传递您的数据并获取您主要活动的数据!!!检查空值。如果雇主被按下怎么办?检查是否为空。如果雇主受到压力怎么办?