Как получить данные из базы данных SQLite для отображения в настраиваемом ListView с помощью настраиваемого ArrayAdapter - PullRequest
0 голосов
/ 20 июня 2020

Я создал базу данных SQLite и хочу получить из нее данные, такие как имя, код продукта, единицу продукта, чтобы они отображались в моем настраиваемом списке через customAdapter, пожалуйста, вот мой код ......

package com.example.sifms.Activity;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
import android.icu.text.CaseMap;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.example.sifms.DB.DBHelper;
import com.example.sifms.Model.Products;
import com.example.sifms.R;
import java.util.ArrayList;

public class StockList extends AppCompatActivity {
ListView listView;
ArrayList<Products> arrayList;
ArrayAdapter<Products> arrayAdapter;
DBHelper dbHelper;

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

Я создал свою базу данных SQLite по имени DBHelper и поместил данные продуктов, такие как имя, код, единица измерения, покупка_продажа, цена_продажи. listview, но мне нужно получить данные имени, кода и единицы измерения из базы данных SQLite и просто поместить эти значения в новый customAdaptor, чтобы они отображались в пользовательском списке

    customAdaptor adaptor = new customAdaptor(this);
    listView.setAdapter(adaptor);
  }
}

Мой собственный код адаптера

class customAdaptor extends ArrayAdapter<String> {
Context context;
String[] titlearray;
String[] stockcodearray;
String[] Unit;

public customAdaptor(Context c, String[] Title,String[] Stock_Code,String[] Unit) {
    super(c, R.layout.custom_listview, R.id.textView1, Title);
    this.context = c;
    this.titlearray = Title;
    this.stockcodearray = Stock_Code;
    this.Unit = Unit;
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {

    LayoutInflater inflater = (LayoutInflater) 
    context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View row = inflater.inflate(R.layout.custom_listview,parent,false);

    TextView textView1 = row.findViewById(R.id.textView1);
    TextView textView2 = row.findViewById(R.id.textView4);  
    TextView textView3 = row.findViewById(R.id.textView5);

    textView1.setText(titlearray[position]);
    textView2.setText(stockcodearray[position]);
    textView3.setText(Unit[position]);

    return row;
   } 
}
...