试图找出更新RecyclerView
适配器的问题.
在我获得新的产品列表后,我尝试:
更新创建ArrayList
的片段recyclerView
,将新数据设置为适配器,然后调用adapter.notifyDataSetChanged()
; 那没起效.
像其他人一样创建一个新的适配器,它适用于他们,但对我没有任何改变: recyclerView.setAdapter(new RecyclerViewAdapter(newArrayList))
创建一个Adapter
更新数据的方法,如下所示:
public void updateData(ArrayList<ViewModel> viewModels) {
items.clear();
items.addAll(viewModels);
notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
然后每当我想更新数据列表时,我都会调用此方法; 那没起效.
要检查我是否可以以任何方式修改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) 我们假设这是包名:
package com.company.name
.我该如何改变company
?
PS我看到了如何改变name
但没有改变company
.我正在使用Android Studio.
我有一个活动和许多碎片在同一个膨胀 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);
但我无法通过片段返回,因为我直接进入主页.
我正在尝试将拍摄的照片上传到服务器.这是我做的:
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) 我想在谷歌示例中创建一个迷你抽屉菜单:
我试图创建一个总是停留在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) 如何从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
或我习惯的任何东西.有谁知道如何删除它们?
我需要创建一个比较产品的视图(最少 2,最多 5)。我有两个想法:
关于如何以更好的方式实施此视图有什么建议吗?
我打印了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.
这是一个示例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文件?
如何以编程方式创建与此类似的效果:
我从这里看到了这个答案:Android Photography App Double Exposure但它是如此基本,没有解释它应该如何工作;也许 OpenCv 会有更好的结果?有人知道如何实施吗?
我所取得的是将给定的图像从正方形转换为圆形,但我现在无法获得边框,一个简单的白色边框.
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) 我一直在搜索4个小时如何使用它,并且不得不重置我的项目,因为我搞砸了依赖项.任何人都可以解释我如何简单地导入和解决所有依赖关系,因为我曾经设置但有错误,我需要更改gradle文件中的一些行,我也尝试从gradle导入pom并解决所有依赖关系但它最后失败了.
我非常感谢能在Android工作室发布一个使用simonvt库的noob友好[怎么样]的人,我敢打赌它对其他人也会有所帮助.
我的java或android工作室可能有问题,这就是为什么我想检查一种确实有效的方法,这样如果它失败了,我就会遇到一些软件问题.
更新
所以我设置了Android studio并更新了所有的android包,并检查了所有内容.我找到了关于如何在android studio中使用另一个菜单抽屉库的教程:http://androiddev.orkitra.com/?p = 72290 但我无法完成它,因为我总是得到依赖性错误.
我相信如果有人会发布关于如何导入这两个库中的任何一个的分步教程,它会对我和很多其他人有所帮助.
我已经在较新的设备上测试了该应用程序,但是在较旧的手机上却崩溃了,我不明白:
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) android ×12
java ×3
drawer ×1
google-maps ×1
gridview ×1
httprequest ×1
ini ×1
opencv ×1
parsing ×1