Одним из способов достижения желаемого поведения является использование интерфейса , метод которого вызывается внутри MenuAdapter
.
Создайте интерфейс, подобный следующему:
public interface ActivityChangedListener {
public void onActivityChanged();
}
Этот интерфейс должен быть реализован классом, имеющим ссылку на mDrawerLayout
, который вы хотите закрыть. В этом случае мы могли бы заставить Activity
реализовать метод следующим образом:
public class MainActivity extends AppCompatActivity implements
ActivityChangedListener
public void onActivityChanged(){
mDrawerLayout.close();
}
Внутри вашего MenuAdapter
вы должны добавить следующее:
public class MenuAdapter extends BaseExpandableListAdapter {
ActivityChangedListener activityChangedListener
public MenuAdapter(Context context, ArrayList<MainMenu> arraylist, ActivityChangedListener acl) {
this.context = context;
this.arraylist = arraylist;
// You could use a setter for this, but care because acl could be null if not set in the right order
this.activityChangedListener = acl;
}
// Now you have to call the listener inside the onClick method in every statement where you switch to a new activity
tv_state.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (arraylist.get(i).getSUB_MODULE_LIST().get(i1).getMLINK_NAME().equals("Daily Work Report")) {
activityChangedListener.onActivityChanged();
context.startActivity(new Intent(context, DailyWorkReportListActivity.class));
} else if (arraylist.get(i).getSUB_MODULE_LIST().get(i1).getMLINK_NAME().equals("Employee Contacts")) {
activityChangedListener.onActivityChanged();
context.startActivity(new Intent(context, EmployeeContactsActivity.class));
}
Единственное, что осталось заключается в редактировании вызова конструктора из MenuAdapter
и передачи экземпляра ActivityChangedListener
, в этом случае это будет this
, потому что наш экземпляр Activity
реализует интерфейс:
MenuAdapter obj_adapter = new MenuAdapter(MainActivity.this, arrayList, this);
Рекомендуется использовать интерфейс для сохранения абстракции, расширяемости и прозрачности.
Можно ли изменить тип столбца, таким образом, что это нечувствительно к регистру? У руководства MySQL есть информация о том, как сделать так.
Это более или менее, что Вы нашли с Бинарным оператором, но он относится к типу столбца вместо того, когда Вы выполняете ВЫБОР