次のコードは、sqlite データベースからの情報をリストビューに表示します。まず、日付が表示され、リストビューでクリックできます。日付をクリックすると、リストビューでその日付に行われた情報が表示されます。私の問題は、この日付12.01.2013でデータを保存し、後で同じ日付を繰り返すと、同じ日付が2回表示され、1つの日付だけを表示し、それをクリックしてデータを表示することです。午前中に保存したデータと、同じ日に保存したデータは、2 つの類似した日付ではありません。
ここにコードがあります
public class Pro extends Activity implements OnItemClickListener {
private ListView uNamesListView;
private ListAdapter customerListAdapter;
private ArrayList<PojoClass> pojoArrayList;
final Context context = this;
private Button button;
private TextView result;
DBAdapter db = new DBAdapter(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
uNamesListView = (ListView) findViewById(R.id.listView1);
uNamesListView.setOnItemClickListener(this);
pojoArrayList = new ArrayList<PojoClass>();
customerListAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, populateList());
uNamesListView.setAdapter(customerListAdapter);
}
public List<String> populateList() {
List<String> uGraduateNamesList = new ArrayList<String>();
DatabaseHelper openHelperClass = new DatabaseHelper(this);
SQLiteDatabase sqliteDatabase = openHelperClass.getReadableDatabase();
Cursor cursor = sqliteDatabase.query(DBAdapter.SCAN_TABLE, null, null, null, null, null, null);
startManagingCursor(cursor);
while (cursor.moveToNext()) {
String cDate = cursor.getString(cursor.getColumnIndex(DBAdapter.COLUMN_Date ));
String cMeterNumber = cursor.getString(cursor.getColumnIndex(DBAdapter.COLUMN_MeterNumber ));
String cVname = cursor.getString(cursor.getColumnIndex(DBAdapter.COLUMN_Vname ));
String cPname = cursor.getString(cursor.getColumnIndex(DBAdapter.COLUMN_PName ));
PojoClass ss = new PojoClass();
ss.SetName(cDate);
ss.SetSurname(cMeterNumber);
ss.SetID(cVname);
ss.SetHaddress(cPname);
pojoArrayList.add(ss);
uGraduateNamesList.add(cDate);
}
sqliteDatabase.close();
return uGraduateNamesList;
}
@Override
public void onItemClick(AdapterView<?> aa, View view, int ss, long bb) {
// TODO Auto-generated method stub
Intent updateCustomerIntent = new Intent(Pro.this, ViewByVendor.class);
updateCustomerIntent.putExtra("product", product);
startActivity(updateCustomerIntent);
Toast.makeText(getApplicationContext(), "Clicked on :" + ss, Toast.LENGTH_SHORT).show();
PojoClass clickedObject = pojoArrayList.get(ss);
Bundle dataBundle = new Bundle();
dataBundle.putString("clickedDate", clickedObject.getDates());
dataBundle.putString("clickedMeterNumber", clickedObject.getMeterNumber());
dataBundle.putString("clickedVname", clickedObject.getVname());
dataBundle.putString("clickedPname", clickedObject.getPname());
updateCustomerIntent.putExtras(dataBundle);
startActivity(updateCustomerIntent);
}
}
私はあなたの助けに感謝します。