多列表RecyclerView SQLitedatabase

时间:2018-03-30 08:15:43

标签: java android android-recyclerview

here's the structure

我有一个应用程序,使用户'所有他/她的最爱都放在一个地方。这样他/她就不会查看所有数据。我想要的只是拥有一个带有多个列表的recyclerview,即" ListTitle"动态创建,当" ListTitle"已经在其中,只有孩子会出现。如果没有,请再次创建另一个cardview。提前谢谢。

我的代码:

LoadsFavoriteAdapter.java

AVAssetWriter

Favorites.java

public class LoadFavoritesAdapter extends RecyclerView.Adapter<LoadFavoritesAdapter.LoadFavoritesViewHolder> {

private ArrayList<LoadFavorites> loadFavorites;
private Context context;
private ArrayList<LoadFavorites> mloadFavorites;

final String loadParent = "";

public LoadFavoritesAdapter(ArrayList<LoadFavorites> loadFavorites, Context context){
    this.loadFavorites = loadFavorites;
    this.context = context;
    this.mloadFavorites = loadFavorites;
}

public class LoadFavoritesViewHolder extends RecyclerView.ViewHolder{

    TextView txtLoadNameTest, txtLoadAmountTest;

    public LoadFavoritesViewHolder(View view){
        super(view);
        txtLoadAmountTest = view.findViewById(R.id.txtLoadAmountTest);
        txtLoadNameTest = view.findViewById(R.id.txtLoadNameTest);
    }
}

public LoadFavoritesViewHolder onCreateViewHolder(ViewGroup parent, int viewType){
    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.favorite_item, parent, false);

    return new LoadFavoritesViewHolder(itemView);
}

public void onBindViewHolder(final LoadFavoritesViewHolder holder, int position){
    holder.txtLoadNameTest.setText(loadFavorites.get(position).getLoadName());
    holder.txtLoadAmountTest.setText(loadFavorites.get(position).getLoadAmount());
}

public int getItemCount(){
    return mloadFavorites.size();
}}

Database.java

public class Database扩展了SQLiteAssetHelper {

public class Favorites extends AppCompatActivity {

Database localDb;
Context CTX = this;

private RecyclerView recyclerView;
private ArrayList<LoadFavorites> loadFavorites;
private LoadFavoritesAdapter loadFavoritesAdapter;
private Database database;
private ArrayList<LoadFavorites> mloadFavorites;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_favorites);

    localDb = new Database(this);

    recyclerView = findViewById(R.id.recycler_favorites);

    loadFavorites = new ArrayList<>();
    loadFavoritesAdapter = new LoadFavoritesAdapter(loadFavorites, this);

    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setHasFixedSize(true);
    recyclerView.setAdapter(loadFavoritesAdapter);
    database = new Database(this);

    getDataFromSQLite();

}

private void getDataFromSQLite(){
    new AsyncTask<Void, Void, Void>(){
        protected Void doInBackground(Void... params){
            loadFavorites.clear();
            loadFavorites.addAll(database.getFavorites());

            return null;
        }

        protected void onPostExecute(Void aVoid){
            super.onPostExecute(aVoid);
        }
    }.execute();
}}

0 个答案:

没有答案