Как получить доступ к Entity Manager в службе в проекте весеннего загрузки?

Сначала создайте XML-макет в папке res/layout/main.xml вашего проекта:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <Button
        android:id="@+id/addBtn"
        android:text="Add New Item"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="addItems"/>
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:drawSelectorOnTop="false"
    />
</LinearLayout>

Это простой макет с кнопкой вверху и видом списка внизу. Обратите внимание, что ListView имеет id @android:id/list, который определяет значение по умолчанию ListView a ListActivity.

public class ListViewDemo extends ListActivity {
    //LIST OF ARRAY STRINGS WHICH WILL SERVE AS LIST ITEMS
    ArrayList<String> listItems=new ArrayList<String>();

    //DEFINING A STRING ADAPTER WHICH WILL HANDLE THE DATA OF THE LISTVIEW
    ArrayAdapter<String> adapter;

    //RECORDING HOW MANY TIMES THE BUTTON HAS BEEN CLICKED
    int clickCounter=0;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        adapter=new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1,
            listItems);
        setListAdapter(adapter);
    }

    //METHOD WHICH WILL HANDLE DYNAMIC INSERTION
    public void addItems(View v) {
        listItems.add("Clicked : "+clickCounter++);
        adapter.notifyDataSetChanged();
    }
}

android.R.layout.simple_list_item_1 - это макет списка элементов по умолчанию, предоставленный Android, и вы можете использовать этот макет запаса для не-сложных вещей.

listItems - это список, в котором хранятся данные, отображаемые в ListView. Все вставки и удаления должны выполняться на listItems; изменения в listItems должны быть отражены в представлении. Это обрабатывается с помощью ArrayAdapter<String> adapter, который должен быть уведомлен с помощью:

adapter.notifyDataSetChanged();

Адаптер создается с помощью трех параметров: контекст, который может быть вашим activity/listactivity; расположение вашего индивидуального элемента списка; и, наконец, список, который является фактическими данными, которые будут отображаться в списке.

0
задан Jian Lan 13 July 2018 в 13:47
поделиться

1 ответ

Spring не может найти компоненты, поэтому попробуйте аннотировать с @Repository

@Repository
public class CustomPostRepositoryImpl implements PostRepositoryCustom {

  @PersistenceContext
  private EntityManager em;

  @Override
  public void refresh(Post post) {
    em.refresh(post);       
  }
}

и

@Repository
public interface PostRepository extends CrudRepository<Post,Long>{

}
0
ответ дан lazyduckiy 17 August 2018 в 12:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: