① Android 数据库如何更新
1、设置一个DB_VERSION
java">publicstaticfinalintDB_VERSION=1;
2、当你要更新表的时候就把DB_VERSION+1,就会触发onUpgrade,数据库就更新了,记得采纳
publicDBHelper(){
//fortest
Config=newDbManager.DaoConfig()
.setDbName(DB_NAME)
.setDbVersion(DB_VERSION)
.setDbDir(Environment.getExternalStorageDirectory())
.setDbOpenListener(newDbManager.DbOpenListener(){
@Override
publicvoidonDbOpened(DbManagerdb){
db.getDatabase().enableWriteAheadLogging();
}
})
.setDbUpgradeListener(newDbManager.DbUpgradeListener(){
@Override
publicvoidonUpgrade(DbManagerdb,intoldVersion,intnewVersion){
updateTable(db,xx.class);
}
});
}
② android列表数据刷新问题。。。
这种我建议设定一个自己的逻辑思维,采用sharedpreferences存储,那么你读取只能在这里面读取,不要去读取网路获取到的。方法有很多种,这个采用异步网络请求,我觉得最简单,一旦数据变化更新看你放到那个位置.如果是你页面没及时刷新,采用生命周期来做。so
easy!
③ Android怎么利用activity的活动状态来自动刷新数据
利用startActivityForResult()这个方法,可以用来更新上一个页面的view,startActivityForResult()的用法:详细的可以参照以下链接的博客,内容写的详细
④ android Fragment中怎么更新数据
Fragment中的内容不是固定的,甚至布局都不是固定的,这时我们需要动态更新Fragment的数据或布局。所以本文将介绍更新Fragment数据的一种方法(可能不是最好的,如果大家有更好的方法一定要跟我说啊~)。
首先我们快速实现下“选项卡”切换效果。
注:为了简单起见,我们不加选项卡的标题。
步骤很简单,在activity布局中创建一个ViewPager节点,为ViewPager设置适配器(PagerAdapter),适配器产生数据填充ViewPager。
Activity布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
主界面只有一个ViewPager节点。
下面创建3个Fragment:
package com.example.viewpagerdemo2;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Tab3 extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
return inflater.inflate(R.layout.tab3,null);
}
}
代码很简单,直接在oncreateView方法中使用布局填充器(LayoutInflater)填充一个View布局即可。
布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0000ff"
android:orientation="vertical" >
<TextView
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="我是第三个界面"
/>
</LinearLayout>
其他两个Fragment跟这个一模一样,这里就不贴了。
Fragment都创建好之后,我们来写Activity的逻辑,我们需要为ViewPager指定一个PagerAdapter。
google为我们提供了方便的类叫FragmentPagerAdapter,我们只需继承这个类并复写getItem和getCount即可。
MainActivity如下:
package com.example.viewpagerdemo2;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
public class MainActivity extends FragmentActivity
{
private ViewPager vPager = null;
private static final int TAB_COUNT = 3;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vPager = (ViewPager) findViewById(R.id.viewpager);
vPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
}
public class MyPagerAdapter extends FragmentPagerAdapter
{
public MyPagerAdapter(FragmentManager fm)
{
super(fm);
}
@Override
public Fragment getItem(int position)
{
switch (position)
{
case 0:
return new Tab1();
case 1:
return new Tab2();
case 2:
return new Tab3();
}
return null;
}
@Override
public int getCount()
{
return TAB_COUNT;
}
}
}
代码很简单,就不过多解释了。我在FragmentPagerAdapter的getItem方法中根据position直接new出Fragment对象.
⑤ android数据库更新后怎样刷新listview数据
重写onStart(),在里面加上getData()即可,也就是每次进入这个页面就刷新数据
⑥ android viewpager 数据如何刷新 呢
ViewPager的数据是通过PageAdapter来装载的,刷新数据的方法有以下:
调用adapter.notifyDataSetChanged(); 刷新控件,但是要覆盖PagerAdapter的getItemPosition方法,并返回return POSITION_NONE;
利用PagerAdapter的工作机制,就是PagerAdapter的执行顺序,PagerAdapter作为ViewPager的适配器,无论ViewPager有多少页,PagerAdapter在初始化时也只初始化开始的2个View,即调用2次instantiateItem方法。而接下来每当ViewPager滑动时,PagerAdapter都会调用destroyItem方法将距离该页2个步幅以上的那个View销毁,以此保证PagerAdapter最多只管辖3个View,且当前View是3个中的中间一个,如果当前View缺少两边的View,那么就instantiateItem,如里有超过2个步幅的就destroyItem。
每当Adapter调用instantiateItem时,运用View.setTag方法将该View标识。当需要更新这个View的数据时,通过调用ViewPager.findViewWithTag方法找到相应的View,然后更新View中的数据。
⑦ android listview 怎么刷新所有数据
所谓的刷新说白了就是从新加载一遍数据,然后从新放在控件上,所以你就找的地方从新加载一遍数据就好了啊,重新走一遍获取数据的方法
⑧ android如何在adapter更新数据
data = new ArrayList<Info>(); //存放数据的列表,以后只更新它就可以了
adapter = new page_ListAdapter(this, data); //适配器,一个类,继承自BaseAdapter
listview.setAdapter(adapter); //列表视图上绑定适配器
以上几步就建立了数据与控件之间的关,以后更新data就可以了,界面会自动刷新。
附:适配器类在大体如下所示:
class page_ListAdapter extends BaseAdapter {
public page_ListAdapter(Activity context, List<Info> list) {
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//这里构建每一行的界面
}
}
⑨ Android怎么利用activity的活动状态来自动刷新数据
你在onCreate或onResume里调用刷新数据的方法,这样每次进入activity就会自动刷新数据
⑩ android 下拉刷新加载最新数据如何实现
下拉刷新一般抄都是用在listView组件中袭,给listView添加listHeadView自定义组件,即com.example.pulltorefreshtest.RefreshableView
在activity中取得自定义的组件listHeadVIew,
给自定义组件添加事件
在Activity中调用RefreshableView的setOnRefreshListener方法注册回调接口
在onRefresh方法的最后,记得调用RefreshableView的finishRefreshing方法,通知刷新结束。