我有一个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) 我有一个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) Android平台是否支持渐进式JPEG?我可以从Android文档中看到该平台同时支持Baseline和Progressive.
但是,当我尝试从渐进字节创建位图时,它总是会抛出错误
D/skia(16136): --- decoder->decode returned false
Run Code Online (Sandbox Code Playgroud)
直到添加了EOI的最后一个块.这使得渐进式JPEG概念对于Android Bitmap毫无用处.
对此的任何帮助都非常感谢.
我想了解用户是否从 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
我从这里有一个导航抽屉: 参考链接
我想在导航列表的末尾添加"设置"和"退出" ,但我不能.
这是我的抽屉代码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) 我有一个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)