我尝试更新ArrayList以在我的SQLite数据库的Listview中显示它,但列表显示为空。 SQLite工作正常,因为数据显示在日志中但未添加到列表中。
我想补充的一点是,我还将此列表与Parse相关联,以便在线获取数据并将其保存在我的数据库中以实现离线可用性。
从Parse获取数据时,列表会更新。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_logged_in);
myDB = openOrCreateDatabase("Users", MODE_PRIVATE, null);
myDB.execSQL("CREATE TABLE IF NOT EXISTS user(title VARCHAR)");
adapter = new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1, titles);
listView = (ListView) findViewById(R.id.listUsers);
listView.setAdapter(adapter);
listUpdater();
titles.clear();
// After this the list is updated from Parse
}
以下是数据的方法调用
Control
答案 0 :(得分:0)
我建议使用DWORD fx32_mul(DWORD x,DWORD y) // x=0x00123400 y=0x00230056
{
const int _h=1;
const int _l=0;
union _u
{
DWORD u32;
WORD u16[2];
}u;
DWORD al,ah,bl,bh;
DWORD c0,c1,c2,c3;
// separate 2^16 base digits
u.u32=x; al=u.u16[_l]; ah=u.u16[_h]; // al=0x3400 ah=0x0012
u.u32=y; bl=u.u16[_l]; bh=u.u16[_h]; // bl=0x0056 bh=0x0023
// multiplication (al+ah<<1)*(bl+bh<<1) = al*bl + al*bh<<1 + ah*bl<<1 + ah*bh<<2
c0=(al*bl); // c0=0x00117800
c1=(al*bh)+(ah*bl);// c1=0x0007220C
c2=(ah*bh); // c2=0x00000276
c3= 0; // c3=0x00000000
// propagate 2^16 overflows (backward to avoid overflow)
c3+=c2>>16; c2&=0x0000FFFF; // c3=0x00000000 c2=0x00000276
c2+=c1>>16; c1&=0x0000FFFF; // c2=0x0000027D c1=0x0000220C
c1+=c0>>16; c0&=0x0000FFFF; // c1=0x0000221D c0=0x00007800
// propagate 2^16 overflows (normaly to recover from secondary overflow)
c2+=c1>>16; c1&=0x0000FFFF; // c2=0x0000027D c1=0x0000221D
c3+=c2>>16; c2&=0x0000FFFF; // c3=0x00000000 c2=0x0000027D
// (c3,c2,c1,c0) >> _fx32_fract_bits
u.u16[_l]=c0; u.u16[_h]=c1; c0=u.u32; // c0=0x221D7800
u.u16[_l]=c2; u.u16[_h]=c3; c1=u.u32; // c1=0x0000027D
c0 =(c0&_fx32_integ_mask)>>_fx32_fract_bits; // c0=0x0000443A
c0|=(c1&_fx32_fract_mask)<<_fx32_integ_bits; // c0=0x04FA443A
return c0; // 0x04FA443A -> 83510330/32768 = 2548.53302001953125
}
来解决此问题。从AsyncTask
中的数据库中获取数据,然后更新doInBackground()
中的用户界面/列表。
有关更多信息或示例,请查看this
答案 1 :(得分:0)
首先..为什么在获取数据之前需要设置适配器。你可以这样做。
希望有所帮助