小编Pra*_*tye的帖子

如何禁用列表视图中的项目?

我有一个列表视图,通过数据库中的记录填充.现在我必须让一些记录可见,但无法选择,我该如何实现呢?

这是我的代码

public class SomeClass extends ListActivity { 
    private static List<String> products; 
    private DataHelper dh; 
    public void onCreate(Bundle savedInstanceState) { 
        dh = new DataHelper(this); 
        products = dh.GetMyProducts();  /* Returns a List<String>*/ 
        super.onCreate(savedInstanceState); 
        setListAdapter(new ArrayAdapter<String>(this, R.layout.myproducts, products)); 
        ListView lv = getListView();
        lv.setTextFilterEnabled(true); 
        lv.setOnItemClickListener( new OnItemClickListener() { 
            @Override 
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
                // TODO Auto-generated method stub 
                Toast.makeText(getApplicationContext(), ((TextView) arg1).getText(), Toast.LENGTH_SHORT).show(); 
            } 
        }); 
    } 
}
Run Code Online (Sandbox Code Playgroud)

布局文件myproducts.xml如下:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:textSize="16sp"> …
Run Code Online (Sandbox Code Playgroud)

android listviewitem android-widget

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

具有指向的堆栈跟踪的DeadObjectException:android.app.ApplicationPackageManager.getPackageInstaller

我看到在崩溃中报告了崩溃,其中有一个堆栈跟踪,没有提到我的应用程序代码.

我在com.google.android.gms中看到了DeadObjectException,并且在删除侦听器时触发了崩溃.

此外,每次我的应用程序启动时,我都会获得安装程序以进行日志记录,即

packageManager.getInstallerPackageName(my-package-name)
Run Code Online (Sandbox Code Playgroud)

此调用没有与回调相关联的回调.

主要在Lollipop和Kitkat上观察到崩溃,尽管很少有Marshmallow和Nougat用户也经历过崩溃.

有没有人经历类似的事情?

Fatal Exception: java.lang.RuntimeException: android.os.DeadObjectException
       at android.app.ApplicationPackageManager.getPackageInstaller(ApplicationPackageManager.java:1632)
       at com.google.android.gms.common.zze.zzl(Unknown Source)
       at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source:8000)
       at com.google.android.gms.internal.zzpy.zzc(Unknown Source:24000)
       at com.google.android.gms.internal.zzpv.begin(Unknown Source)
       at com.google.android.gms.internal.zzqa.zzc(Unknown Source)
       at com.google.android.gms.internal.zzpp.onConnectionSuspended(Unknown Source)
       at com.google.android.gms.common.internal.zzk$1.onConnectionSuspended(Unknown Source)
       at com.google.android.gms.common.internal.zzd$zzd.handleMessage(Unknown Source)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5438)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Caused by android.os.DeadObjectException
       at android.os.BinderProxy.transactNative(Binder.java)
       at android.os.BinderProxy.transact(Binder.java:496)
       at android.content.pm.IPackageManager$Stub$Proxy.getPackageInstaller(IPackageManager.java:4229)
       at android.app.ApplicationPackageManager.getPackageInstaller(ApplicationPackageManager.java:1629)
       at com.google.android.gms.common.zze.zzl(Unknown Source)
       at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source:8000)
       at com.google.android.gms.internal.zzpy.zzc(Unknown Source:24000)
       at com.google.android.gms.internal.zzpv.begin(Unknown Source)
       at com.google.android.gms.internal.zzqa.zzc(Unknown …
Run Code Online (Sandbox Code Playgroud)

android

11
推荐指数
1
解决办法
998
查看次数

在RecyclerView中更新ProgressBar

我有一个RecyclerView.其中,项目具有标准布局 - 一个TextView和一个ProgressBar.项目在运行时添加到recyclerview.每当添加一个Item时,都会启动一个更新ProgressBar的AsyncTask.AsynTask保存了RecyclerView Adapter对ProgressBar对象的引用.当回收器视图中的项目太多时,会发生此问题.

我知道RecyclerView会回收任何旧视图,因此想要了解至少进度条的方法.

实现这个的理想方法是什么?

以下是适配器的摘录

public class RecViewAdapter extends
        RecyclerView.Adapter<RecViewAdapter.ViewHolder> {
    Context mContext;
    List<String> mRunns;
    static ExecutorService mExec;
    static HashSet<Integer> mProcessed = new HashSet<>();

    public RecViewAdapter(Context context, List<String> runns) {
        mContext = context;
        mRunns = runns;
        mExec = Executors.newFixedThreadPool(1);
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
        View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.runnabel_item, viewGroup,
                false);
        ViewHolder vh = new ViewHolder(v);
        return vh;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.runnName.setText(mRunns.get(position));
        if (!mProcessed.contains(position)) {
            new ProgressTask(holder.pBar, position).executeOnExecutor(mExec, null); …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

10
推荐指数
2
解决办法
1万
查看次数

Android App演示文稿

我想制作一个我的Android应用程序的视频演示.我知道我可以通过在屏幕前面拿着一台摄像机进行演示,然后对应用程序进行演练.但是有没有其他方法可以做到这一点,在JingProject for windows中你可以在视频中在屏幕上记录你的活动.

有没有一个工具可以帮助我在我的Android设备上实现相同的功能

android video-capture jing

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

隐藏协调器布局中工具栏下方的视图

我正在创建一个如下工作的布局:

顶部的工具栏

顶部工具栏下方的工具栏

RecyclerView

当我滚动时,我想在顶部工具栏和recyclerView之间隐藏工具栏.我的布局如下:

<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="SomeActivity">

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:elevation="4dp"
        app:contentInsetLeft="0dp"
        app:contentInsetStart="0dp"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        app:layout_scrollFlags="scroll|enterAlways"/>

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:minHeight="0dp"
        android:id="@+id/info_bar"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        app:contentInsetLeft="0dp"
        app:contentInsetStart="0dp"
        app:layout_scrollFlags="scroll|enterAlways" />

</android.support.design.widget.AppBarLayout>

<android.support.v7.widget.RecyclerView
    android:id="@+id/content_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Run Code Online (Sandbox Code Playgroud)

通过这些更改,滚动时两个工具栏都会隐藏.我只需要隐藏第二个工具栏.

编辑:如果我不能让它工作,我将附加一个滚动监听器到我的recyclerView并解决这个问题.但我想知道是否有一个更清晰的滚动行为解决方案

android android-toolbar android-design-library android-coordinatorlayout

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