小编Fil*_*nco的帖子

如何更新RecyclerView适配器数据?

试图找出更新RecyclerView适配器的问题.

在我获得新的产品列表后,我尝试:

  1. 更新创建ArrayList的片段recyclerView,将新数据设置为适配器,然后调用adapter.notifyDataSetChanged(); 那没起效.

  2. 像其他人一样创建一个新的适配器,它适用于他们,但对我没有任何改变: recyclerView.setAdapter(new RecyclerViewAdapter(newArrayList))

  3. 创建一个Adapter更新数据的方法,如下所示:

    public void updateData(ArrayList<ViewModel> viewModels) {
       items.clear();
       items.addAll(viewModels);
       notifyDataSetChanged();
    }
    
    Run Code Online (Sandbox Code Playgroud)

    然后每当我想更新数据列表时,我都会调用此方法; 那没起效.

  4. 要检查我是否可以以任何方式修改recyclerView,并且我尝试删除至少一个项目:

     public void removeItem(int position) {
        items.remove(position);
        notifyItemRemoved(position);
    }
    
    Run Code Online (Sandbox Code Playgroud)

    一切都保持原样.

这是我的适配器:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> implements View.OnClickListener {

    private ArrayList<ViewModel> items;
    private OnItemClickListener onItemClickListener;

    public RecyclerViewAdapter(ArrayList<ViewModel> items) {
        this.items = items;
    }


    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

238
推荐指数
9
解决办法
38万
查看次数

完全更改包名称,包括公司域名

我们假设这是包名: package com.company.name.我该如何改变company

PS我看到了如何改变name但没有改变company.我正在使用Android Studio.

android android-package-managers android-studio

68
推荐指数
6
解决办法
12万
查看次数

在按下后退按钮的片段中,活动为空白

我有一个活动和许多碎片在同一个膨胀 FrameLayout

<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)

示例:mainActivity>任何片段(按后退按钮)>活动为空.

在onCreate:

layout = (FrameLayout)findViewById(R.id.content_frame);
layout.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

当我开始片段时:

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, profileFragment);
ft.addToBackStack(null);
ft.commit();
layout.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)

我想我需要GONE在后退时再次使frameLayout的可见性,但我该怎么做?


我尝试onBackPressed并设置layout.setVisibility(View.GONE);但我无法通过片段返回,因为我直接进入主页.

android android-fragments

65
推荐指数
5
解决办法
7万
查看次数

使用HttpPost MultiPartEntityBuilder上传照片

我正在尝试将拍摄的照片上传到服务器.这是我做的:

public JSONObject makePostFileRequest(String url, String photoFile) {
    try {
        // photoFile = /path/tofile/pic.jpg
        DefaultHttpClient httpClient = GlobalData.httpClient;
        HttpPost httpPost = new HttpPost(url);

        File file = new File(photoFile);
        FileBody fileBody = new FileBody(file); // here is line 221

        MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create();

        multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
        multipartEntity.addPart("PhotoMessage", fileBody);

        httpPost.setEntity(multipartEntity.build());

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

11-29 13:12:14.924:E/AndroidRuntime(15781):引起:java.lang.NoClassDefFoundError:org.apache.http.entity.ContentType 11-29 13:12:14.924:E/AndroidRuntime(15781):在org.apache.http.entity.mime.content.FileBody.(FileBody.java:89)11-29 13:12:14.924:E/AndroidRuntime(15781):at com.petcial.petopen.custom.JSONParser.makePostFileRequest (JSONParser.java:221)

我究竟做错了什么?


更新

InputStream inputStream;
inputStream = new FileInputStream(new File(photoFile));
byte[] data;
data = IOUtils.toByteArray(inputStream);

httpClient.getParams().setParameter(CoreProtocolPNames.USER_AGENT, …
Run Code Online (Sandbox Code Playgroud)

android httprequest

23
推荐指数
2
解决办法
4万
查看次数

如何在Android中创建迷你抽屉菜单?

我想在谷歌示例中创建一个迷你抽屉菜单:

迷你抽屉菜单

我试图创建一个总是停留在ParentLeft上的布局,并且菜单在打开时会溢出它,但它看起来并不自然.有谁知道我该怎么办?


更新

我尝试过另一种方式.要听菜单滑动,并在它足够关闭时捕获,那么我可以设置菜单大小,并保持图标可见,但文本消失.

@Override
        public void onDrawerSlide(float v, int i) {
            Log.d("onDrawerSlide", "v=" + v + " i=" + i);
            if (i<previewsI && decreasingCount > 3) {
                // check if menu is closed enough
                if (i <100 && i > 50) {
                    // change menu size, and force menu to keep opened
                    mDrawer.setMenuSize(Utils.dpToPx(70, getApplicationContext()));
                    mDrawer.openMenu();
                    // TODO: hide menu items title, and let only icons to be visible

                }
            }
            else if (i < previewsI)
                // make sure the …
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer

13
推荐指数
2
解决办法
7197
查看次数

如何删除Android ViewPager选项卡分隔符?

如何从ViewPager中删除分隔符?

这是代码:

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bus.tralisto.MainActivity" 

/>
Run Code Online (Sandbox Code Playgroud)

我不能设置android:Divider或我习惯的任何东西.有谁知道如何删除它们?

android android-viewpager

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

我应该使用 GridView 还是 RecyclerView?

我需要创建一个比较产品的视图(最少 2,最多 5)。我有两个想法:

  1. 创建一个 RecyclerView 并且每一列都是不同的项目。在初始化时,我必须设置列数。不好的部分是,如果一个项目有更多的文本并且会在另一行上,整个列会向下移动,但其他的不会。
  2. 创建一个 gridView,但我必须对每一种产品数量进行硬编码或创建更多案例。

在此处输入图片说明

关于如何以更好的方式实施此视图有什么建议吗?

android gridview android-recyclerview

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

如何修复Google地图"服务器上的身份验证失败"?

我打印了SHA1键:

keytool -list -v -keystore keystore.jks
Run Code Online (Sandbox Code Playgroud)

在Google控制台中生成API密钥,

更新清单文件如下:

<meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyC1YOsomestringsarehiddedLu5_TnCxlyuRM"/>
Run Code Online (Sandbox Code Playgroud)

然后我Activity在Google Samples中创建了一个简单的:

public class MapActivity extends FragmentActivity implements OnMapReadyCallback {

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

    SupportMapFragment mapFragment =
            (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}

@Override
public void onMapReady(GoogleMap map) {
    map.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
}
Run Code Online (Sandbox Code Playgroud)

}

当然,我在Manifest文件中添加了活动.我总是得到同样的错误.

Ensure that the following Android Key exists:
API Key: AIzaSyC1YOn9myapikeystringsxxu5_TnCxlyuRM
Android Application (<cert_fingerprint>;<package_name>):
B2:E8:75:4F:01:DD:xx:xx:xx:xx:xx:xx:74:A5:85:2C:A4:38:48;md.mycompany.catalog
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我在Google Console中粘贴的SHA1密钥与上面的密钥不同.我再次尝试,它仍然显示另一个SHA1键.我甚至试过这个SHA1,但它仍然不起作用.

ps我在同一个应用程序中集成了Youtube API,一切都运行完美,使用相同的KEY.

android google-maps

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

如何用Java中的部分解析ini文件?

这是一个示例ini文件:

[link#1]
alias=My Link 1
link=https://www.yandex.ru/

[link#2]
alias=My Link 2
link=https://mail.ru/

[link#3]
alias=My Link 3
link=http://point.md/ru/
Run Code Online (Sandbox Code Playgroud)

我已经看过如何解析它,但键是相同的,我需要让它说到ArrayList<LinkObject>.有谁知道这个很好的解决方案?或者我们应该以不同方式格式化.ini文件?

java ini parsing

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

如何在Android中以编程方式创建双重曝光效果?

如何以编程方式创建与此类似的效果:

在此输入图像描述

我从这里看到了这个答案:Android Photography App Double Exposure但它是如此基本,没有解释它应该如何工作;也许 OpenCv 会有更好的结果?有人知道如何实施吗?

android opencv

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

如何在Android中围绕圆形ImageView绘制边框?

我所取得的是将给定的图像从正方形转换为圆形,但我现在无法获得边框,一个简单的白色边框.

public class RoundedImageView extends ImageView {

public RoundedImageView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}

public RoundedImageView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public RoundedImageView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
protected void onDraw(Canvas canvas) {

    Drawable drawable = getDrawable();

    if (drawable == null) {
        return;
    }

    if (getWidth() == 0 || getHeight() == 0) {
        return;
    }
    Bitmap b = ((BitmapDrawable) drawable).getBitmap();
    Bitmap bitmap = b.copy(Bitmap.Config.ARGB_8888, true);

    int w = …
Run Code Online (Sandbox Code Playgroud)

android

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

如何从Android Studio中的SimonVT导入MenuDrawer

我一直在搜索4个小时如何使用它,并且不得不重置我的项目,因为我搞砸了依赖项.任何人都可以解释我如何简单地导入和解决所有依赖关系,因为我曾经设置但有错误,我需要更改gradle文件中的一些行,我也尝试从gradle导入pom并解决所有依赖关系但它最后失败了.

我非常感谢能在Android工作室发布一个使用simonvt库的noob友好[怎么样]的人,我敢打赌它对其他人也会有所帮助.

我的java或android工作室可能有问题,这就是为什么我想检查一种确实有效的方法,这样如果它失败了,我就会遇到一些软件问题.


更新

所以我设置了Android studio并更新了所有的android包,并检查了所有内容.我找到了关于如何在android studio中使用另一个菜单抽屉库的教程:http://androiddev.orkitra.com/?p = 72290 但我无法完成它,因为我总是得到依赖性错误.

我相信如果有人会发布关于如何导入这两个库中的任何一个的分步教程,它会对我和很多其他人有所帮助.

java android drawer android-studio

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

KitKat上的应用程序崩溃

我已经在较新的设备上测试了该应用程序,但是在较旧的手机上却崩溃了,我不明白:

  E/GMPM: getGoogleAppId failed with status: 10
    Uploading is not possible. App measurement disabled
    Shutting down VM
    threadid=1: thread exiting with uncaught exception (group=0xa4d35b20)
    FATAL EXCEPTION: main
    Process: md.darwin.catalog, PID: 1271
    java.lang.NoClassDefFoundError: md.darwin.catalog.utils.AnalyticsTrackers$1
    at md.darwin.catalog.utils.AnalyticsTrackers.get(AnalyticsTrackers.java:64)
    at md.darwin.catalog.utils.MyApplication.onCreate(MyApplication.java:27)
    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4328)
    at android.app.ActivityThread.access$1500(ActivityThread.java:135)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5001)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我想它可能与Google Analytics(分析)有关,但是为什么会getGoogleAppId失败?关于如何解决这个问题的任何线索?


更新资料 MyApplication

public class MyApplication extends Application {
public static final String TAG …
Run Code Online (Sandbox Code Playgroud)

java android

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