• Как долго публикуция игра в Play Developer consol?

    @subway
    В developer console есть кнопка "открыть в Google play"( в панели управления нажмите на круглую иконку с восклицательным знаком) . Откройте ее и попробуйте установить. Возможно ваше приложение не ранжируется в поиске из-за малого количества установок. Поделитесь этой ссылкой с друзьями. Спустя какое-то время появится
    Ответ написан
    Комментировать
  • Затираю ArrayList в ArrayAdapter, как правильно сделать?

    @subway
    Можно создать 2 arrayList в которых будут отфильтрованные элементы и копия всех элементов. Как только пользователь сотрет свой запрос мы заполняем массив из массива с копией. Пример:
    public class ItemAdapter extends RecyclerView.Adapter<ItemViewHolder> {
    	private List<Item> mItemList = new ArrayList<>();
    	private List<Item> mItemsCopy = new ArrayList<>();
    
    	 /**
    	 * Фильтрует отображаемые пользователю данные при вводе текста в поиск
    	 *
    	 * @param query the query
    	 */
    	void filter(String query) {
    		mItemList.clear();
    		if (query.isEmpty()) {
    			mItemList.addAll(mItemsCopy);
    		} else {
    			query = query.toLowerCase();
    			for (Item item : mItemsCopy) {
    					if (item.getUserName().toLowerCase().contains(query)) {
    						mItemList.add(item);
    					}
    			}
    		}
    		notifyDataSetChanged();
    	}

    На EditText вешаем text watcher и вызываем в onTextChanged метод filter у адаптера и передаем то что ввел пользователь.
    Весь исходник моего адаптера
    Ответ написан
  • Как добавить в menu элемент item в android?

    @subway
    1.
    Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        menu.add(Menu.NONE, nav_share, Menu.NONE, "Share");
        super.onCreateOptionsMenu(menu, inflater);
    }

    Параметры которые нужно передать в метод add(int groupId, int itemId, int order, CharSequence title)
    2. ID динамически нельзя менять, можно удалить элемент меню и добавить новый с новым заголовком и ID. А просто текст можно обновить программно
    public class MyFragment extends Fragment {
      private Menu menu;
      @Override
      public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         this.menu = menu;
         super.onCreateOptionsMenu(menu, inflater);
      }
    
      private void updateTitle () {
         MenuItem shareItem = menu.findItem(R.id.share);
         shareItem.setTitle("Поделиться");
      }
    }

    Также можно попробовать onPrepareOptionsMenu() который вызывается каждый раз когда открываете меню.
    Ответ написан
    6 комментариев
  • Android studio. Как запретить возврат на активность?

    @subway
    Есть два способа. Первый это когда с первой активити запускаете второе добавить finish
    startActivity(new Intent(FirstActivity.this, SecondActivity.class));
    finish();


    Второй способ добавить флаги
    Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();

    Подробнее:
    https://developer.android.com/reference/android/co...
    This launch mode can also be used to good effect in conjunction with FLAG_ACTIVITY_NEW_TASK: if used to start the root activity of a task, it will bring any currently running instance of that task to the foreground, and then clear it to its root state. This is especially useful, for example, when launching an activity from the notification manager.
    Ответ написан
    3 комментария
  • Email рассылка на Android?

    @subway
    Для отправки email-рассылки надо разрабатывать бекенд. Чисто с устройства можно только запустить сторонние приложения с функцией отправки email, например gmail, но с их помощью можно отправить письмо только на один определенный email за один раз.
    Ответ написан
    Комментировать