小编lon*_*ngi的帖子

Android/Eclipse:如何在导入时更改项目名称?

这让我感到很紧张...我想将现有的android项目导入我的工作区,但有时已经有一个同名的现有项目(最好的例子:MainActivity,这是最常见的名称,例如教程中的项目)

在此输入图像描述

所以我无法将新项目导入工作区.通常,我必须删除MainActivity project A之前,我可以project B使用相同的项目名称导入.或者(导入之前)我必须重命名/修改MainActivityManifest.xmlproject B.

我知道该New Project Name字段是可编辑的,但如果我更改项目名称,我仍然无法将项目导入工作区.

有没有其他解决方法???

eclipse android

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

如何在 Kotlin 中使用 AndroidAnnotation @SharedPref

我正在尝试@SharefPref在 kotlin 中使用AndroidAnnotations,但出现以下错误

org.androidannotations.annotations.sharedpreferences.Pref can only be used on an element that extends org.androidannotations.api.sharedpreferences.SharedPreferencesHelper
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

//Interface
@SharedPref(SharedPref.Scope.APPLICATION_DEFAULT)
open interface MyPreferences {
    @DefaultInt(-1)
    fun someIntValue():Int
}

//Fragment
@Pref
lateinit open var sharedPref:CongressPreferences_

//usage within fragment
val get: Int = sharedPref.selectedEventId().get()
Run Code Online (Sandbox Code Playgroud)

android kotlin android-annotations kotlin-android-extensions

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

更新地图时Android谷歌地图上的NullPointer异常

我最近在我的应用程序中包含了ACRA,其中包括一个GoogleMapSupportFragment.我现在得到一些崩溃报告,我无法在我的设备上重现.如果我想在地图上放置新的标记,应用程序会崩溃.每个标记都与一个位置连接,该位置还有其他信息(地址,名称,......).

这是我的班级管理 GoogleMap

public SignManager(MainActivity activity, GoogleMap map) {
    mActivity = activity;
    this.mMap = map;

    initMap();
}


private void initMap() {
    mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
    mMap.setMyLocationEnabled(true);
    //...
}
Run Code Online (Sandbox Code Playgroud)

这是函数,它(有时)会抛出NullPointerException.该功能updateSignsInView是由一个称为LocalBroadcastAsyncTasks,其接收与新的更新Markers从服务器.

public void updateSignsInView(LocationWO[] mSignArray) {

    if(mSignArray == null){
        Log.e(DEBUG_TAG,"updateSignsInView() -> mSignArray null");
        return;
    }

    resetMap();  //delete some unneeded data and do mMap.clear()

    mMarkerLocationMap = new HashMap<Marker, LocationWO>();

    for (int i = 0; i < mSignArray.length; i++) {

        //!!! this is …
Run Code Online (Sandbox Code Playgroud)

android google-maps nullpointerexception

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

Horizo​​ntalScrollView:带有getView()的CustomAdapter不会重用像ListView这样的convertViews

在我过去的一个项目中,我实施了一个"Time Picker Carousel".它基于a HorizontalScrollView.用户可以在滚动此视图时选择时间.时间值是从X的偏移量计算出来的HorizontalScrollView.

在此输入图像描述

我想在github上分享这个项目,但是在清理代码时我发现了一些糟糕的性能问题.

HorizontalScrollView填充了一个自定义的ArrayAdapter.在getView()使用HolderconvertView.我认为它可能在a中作为适配器工作ListView,因此只有可见项才会被渲染并重新使用,如果它们将被销毁.相反,所有项目都呈现!(在我的情况下是1008!)我自己添加它们(代码示例中为#1),但是即使我尝试添加更少,从删除(和回收)旧的逻辑不起作用,或者我错过了什么?

所以我的基本问题是:我需要更改什么才能使我的适配器表现得像ListView

  1. 我发现这个链接并尝试重写remove函数,但这从未被调用(不知何故逻辑,因为我只是添加)
  2. 在github上有一个很好的PagerAdapter示例,但不知怎的,我无法将其转换为ArrayAdapter<String>

欢迎任何想法,链接!

请不要建议使用ListView.我们决定使用HorizontalScrollView因为回调以及我们ListView在布局中已经拥有的事实.

Horizo​​ntalScrollView

InfiniteTimeScrubberHorizontalView extends HorizontalScrollView{
...
public void setAdapter(Context context, TimeScrubberListAdapter mAdapter) {
    this.mAdapter = mAdapter;
    try {
        fillViewWithAdapter(mAdapter);
    } catch (ZeroChildException e) {
        e.printStackTrace();
    }
}

private void fillViewWithAdapter(TimeScrubberListAdapter mAdapter) {
    //...

    ViewGroup parent …
Run Code Online (Sandbox Code Playgroud)

android horizontalscrollview android-adapter

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

Android:在Play商店中仅定位智能手机的正确清单声明是什么

我想上传一个应用程序,该应用程序应仅适用于智能手机(应用程序需要启动呼叫的功能,所以我想要排除平板电脑......)

我阅读Googles 支持多个屏幕兼容屏幕.我找到了支持的屏幕,但该android:largestWidthLimitDp属性在'API13'中可用,我从'API10'开始.

有更新的设备(Xperia Z,Galaxy S4和HTC One)使用drawable-xxhdpi图形并具有像平板电脑一样的屏幕分辨率.

问题:此清单声明是否适用于仅定位智能手机,包括新智能手机?

 <compatible-screens>
    <!-- all small size screens -->
    <screen android:screenSize="small" android:screenDensity="ldpi" />
    <screen android:screenSize="small" android:screenDensity="mdpi" />
    <screen android:screenSize="small" android:screenDensity="hdpi" />
    <screen android:screenSize="small" android:screenDensity="xhdpi" />
    <!-- all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="ldpi" />
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />

    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="ldpi" />
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" …
Run Code Online (Sandbox Code Playgroud)

android android-manifest google-play

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

NSPumber的NSPredicate包含NSNumber(作为NSString)

简单的方法:我有一个SearchView用户可以选择一些CoreDate的地方,他可以搜索Name,City(两者NSString)和Clientnumber(NSNumber)

NSPredicate *resultPredicate = [NSPredicate
                                predicateWithFormat:@"Name contains[cd] %@ OR City contains[cd] %@",
                                searchText,searchText];
Run Code Online (Sandbox Code Playgroud)

这是我对名称和城市的谓词,但是如何在NSNumber字段中搜索搜索查询?

所以,如果我想搜索300,它应该返回的条目Clientnumber:300123和1230012,因为这两个包含300.

那么,我该怎么做呢?是否有可能"转换"的值Clientnumber之内NSPredicateNSString

search-engine nspredicate ios

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

如何在Kotlin中使用AndroidAnnotation @FragmentArg?

我如何使用@FragmentArgAndroidAnnotationsKotlin片段?

@EFragment(R.layout.debug_empty_fragment)
open class EmptyFragment : Fragment(){

    @FragmentArg("debugIndex")
    var debugIndex:Int = 0
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下gradle错误:

error: org.androidannotations.annotations.FragmentArg cannot be used on a private element
Run Code Online (Sandbox Code Playgroud)

我试图使debugIndex open (公共),但它不起作用。有任何想法吗?这有可能吗?

我正在使用Android Annotations 4.3.1和kotlin 1.1.2-5

android-fragments kotlin android-annotations

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