小编Nam*_*ato的帖子

动态列表视图在滚动结束时添加"加载更多项目"

我有一个listview,它是由Json从sqlite数据库中获取数据.

我希望把它变成,在滚动结束,"负载更多的物品",而装载更多的物品,并将它们添加到适配器(例如每次10个项目)列表中出现的页脚动态列表视图.我在实现此功能时遇到问题.请帮帮我.谢谢.

public class AllProductsActivity extends Activity {

... defining variables...;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    new LoadAllProducts().execute();

}

class LoadAllProducts extends AsyncTask<String, String, String> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        ... progress dialog...
    }

    protected String doInBackground(String... args) {
        countryList = new ArrayList<Country>();
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);

        Log.d("All Products: ", json.toString());

        try {
            // Checking for SUCCESS TAG
            int success = json.getInt(TAG_SUCCESS);

            if (success == 1) {
                // …
Run Code Online (Sandbox Code Playgroud)

android listview dynamic-loading

49
推荐指数
3
解决办法
9万
查看次数

尝试重新打开已关闭的对象sqlitedatabase

我有一个databaseHandler.我需要计算表中的行数.应用程序因此错误而崩溃:android attempt to reopen an already-closed object sqlitedatabase.
我只是在活动中使用此代码:

db.getContactsCount();
Run Code Online (Sandbox Code Playgroud)

但应用程序崩溃了.另外我想重置表(删除表行).我添加了以下方法:

public void deleteTable() {
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete("contacts", null, null);
    }
Run Code Online (Sandbox Code Playgroud)

它运作良好,但我不能使用这个:

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Drop older table if existed
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);

    // Create tables again
    onCreate(db);
}
Run Code Online (Sandbox Code Playgroud)

这是databasehandler:

public class DatabaseHandler extends SQLiteOpenHelper {

// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;

// Database Name
private …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-sqlite

16
推荐指数
3
解决办法
3万
查看次数

Android上的Progressive jpeg

Android平台是否支持渐进式JPEG?我可以从Android文档中看到该平台同时支持Baseline和Progressive.

但是,当我尝试从渐进字节创建位图时,它总是会抛出错误

D/skia(16136): --- decoder->decode returned false
Run Code Online (Sandbox Code Playgroud)

直到添加了EOI的最后一个块.这使得渐进式JPEG概念对于Android Bitmap毫无用处.

对此的任何帮助都非常感谢.

android

13
推荐指数
0
解决办法
510
查看次数

Google play billing API:如何理解用户订阅?

我想了解用户是否从 MainActivity 主动订阅了 Basic/Premium 内容。有一个BillingClientLifecycle类启动订阅过程。据我了解,queryPurchses应该显示用户是否有活动订阅。但显然它显示(通过我放在那里显示订阅状态的 Toasts)用户被订阅,即使用户实际上没有订阅。

public void queryPurchases() {
        if (!billingClient.isReady()) {
            Log.e(TAG, "queryPurchases: BillingClient is not ready");
        }
        Log.d(TAG, "queryPurchases: SUBS");
        Purchase.PurchasesResult result = billingClient.queryPurchases(BillingClient.SkuType.SUBS);
        if (result == null) {
            Log.i(TAG, "queryPurchases: null purchase result");
            processPurchases(null);
            ///
            Toast.makeText(applicationContext,"queryPurchases: null purchase result", Toast.LENGTH_SHORT).show();
        } else {
            if (result.getPurchasesList() == null) {
                Log.i(TAG, "queryPurchases: null purchase list");
                processPurchases(null);
                ///
                Toast.makeText(applicationContext,"queryPurchases: null purchase list", Toast.LENGTH_SHORT).show();
            } else {
                processPurchases(result.getPurchasesList());
                ///
                Toast.makeText(applicationContext,"user has subscription!", Toast.LENGTH_SHORT).show();
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

android android-studio in-app-subscription google-play-developer-api play-billing-library

7
推荐指数
1
解决办法
4551
查看次数

包括导航抽屉底部的行

我从这里有一个导航抽屉: 参考链接

我想在导航列表的末尾添加"设置"和"退出" ,但我不能.

这是我的抽屉代码activity_main.xml:

`

<!-- Framelayout to display Fragments -->
<FrameLayout
    android:id="@+id/frame_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<!-- Listview to display slider menu -->
<ListView
    android:id="@+id/list_slidermenu"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@color/list_divider"
    android:dividerHeight="1dp"        
    android:listSelector="@drawable/list_selector"
    android:background="@color/list_background"/>
</android.support.v4.widget.DrawerLayout>`
Run Code Online (Sandbox Code Playgroud)

我尝试将文本添加到ListView的末尾,并将它们包装在RelativeLayout中,并与底部对齐.但到目前为止没有成功.

这是我的主要活动:

public class MainActivity extends Activity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;

// nav drawer title
private CharSequence mDrawerTitle;

// used to store app title
private CharSequence mTitle;

// slide menu items
private String[] navMenuTitles; …
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer

5
推荐指数
1
解决办法
8612
查看次数

更改片段内的导航抽屉项目

我有一个MainActivity启动导航抽屉.
也有一些碎片.
我需要从片段内部更改导航抽屉列表的标题.
我尝试了这个内部片段:

navMenuTitles = getActivity().getResources().getStringArray(R.array.nav_drawer_items);
navMenuTitles[1] = username;
Run Code Online (Sandbox Code Playgroud)

但到目前为止没有运气.这是我的主要活动:

public class MainActivity extends Activity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;

// nav drawer title
private CharSequence mDrawerTitle;

// used to store app title
private CharSequence mTitle;

// slide menu items
private String[] navMenuTitles;
private TypedArray navMenuIcons;

private ArrayList<NavDrawerItem> navDrawerItems;
private NavDrawerListAdapter adapter;

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

    mTitle = mDrawerTitle = getTitle();

    // load slide menu items
    navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);

    // …
Run Code Online (Sandbox Code Playgroud)

android android-fragments navigation-drawer

4
推荐指数
1
解决办法
4563
查看次数