① 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方法,通知刷新結束。