2017-12-18 5 views
0

こんにちは私はstackoverflowとjavaにも新しいです。私がリストビューにデータを表示するときに直面している問題を解決するのに誰かを助けることができますか?カスタムListViewでデータベースからデータを取得するベースアダプタを使用

public class ViewListContents extends AppCompatActivity { 
DatabaseHelper myDB; 
private ClipData myClip; 

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


    final ListView listView = (ListView)findViewById(R.id.listView); 


    myDB = new DatabaseHelper(this); 
    final ArrayList<Record> theList = new ArrayList<>(); 
    Cursor data = myDB.getAllData(); 
    if(data.getCount() == 0){ 
     Toast.makeText(ViewListContents.this, "The Database was empty", Toast.LENGTH_LONG).show(); 
    } 
    else{ 
     while(data.moveToNext()){ 
      Record r=new Record(); 
      r.setRecordRollno(data.getString(1)); 
      r.setRecordName(data.getString(2)); 
      theList.add(r); 
      ListAdapter listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, theList); 
      listView.setAdapter(listAdapter); 
     } 
    } 
    //To copy text of item on click in listview 
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
      ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
      String getstring = theList.get(i).toString(); 
      myClip = ClipData.newPlainText("text",getstring); 
      clipboard.setPrimaryClip(myClip); 
      Toast.makeText(getApplicationContext(),"Text copied", Toast.LENGTH_LONG).show(); 

     } 
    }); 
} 
} 

私はRecord.java + RecordAdapter.java + MainActivity.javaを行っている、あまりにも これはDatabaseHelperあるViewListContents.java:[email protected] さfollwingコード:ListViewコントロールは、レコードのように示してい.java

public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, 1); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT, RollNo TEXT, NAME TEXT)"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME); 
    onCreate(db); 
} 

public boolean insertData(String rollno,String name) { 
    SQLiteDatabase db = this.getWritableDatabase(); 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(COL_2,rollno); 
    contentValues.put(COL_3,name); 
    long result = db.insert(TABLE_NAME,null ,contentValues); 
    if(result == -1) 
     return false; 
    else 
     return true; 
} 

public Cursor getAllData() { 
    SQLiteDatabase db = this.getWritableDatabase(); 
    Cursor res = db.rawQuery("select * from "+TABLE_NAME,null); 
    return res; 
} 

} 
+0

http://abhiandroid.com/ui/baseadapter-tutorial-example.html – Salman500

答えて

関連する問題