标签: android-annotations

ListActivity中的AndroidAnnotations和上下文菜单

我有一个从ListActivity继承并使用AndroidAnnotations的活动.虽然.onListItemClick工作正常,但列表项的上下文菜单根本不会显示,甚至.onCreateContextMenu不会被调用,但是.onListItemClick在长时间点击列表项后会触发.这是我的代码:

@OptionsMenu(R.menu.places)
@EActivity(R.layout.places)
public class PlacesPicker extends ListActivity {

    private static String[] DATA_SOURCE = { PlacesDB.PLACE_NAME, PlacesDB.PLACE_DESC };
    private static int[] DATA_DESTINATION = { R.id.place_name, R.id.place_desc };

    public static ListView lv;

    @Bean
    PlacesDB db;

    Cursor cursor;

    @AfterInject
    public void init() {

        cursor = db.getPlaces(null, null);
        startManagingCursor(cursor);

        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.place_item, cursor, DATA_SOURCE, DATA_DESTINATION);
        setListAdapter(adapter);

        lv = getListView();

        registerForContextMenu(lv);

    }

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) …
Run Code Online (Sandbox Code Playgroud)

android contextmenu listactivity android-annotations

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

androidannotations2.7.1 - AndroidManifest.xml文件包含原始组件

我在配置androidannotation时遇到了麻烦,刚刚下载了androidannotations-bundle-2.7.1.zip.

我有一个使用@EActivity注释的LoginActivity,在构建之后我得到以下错误:

The AndroidManifest.xml file contains the original component, and not the AndroidAnnotations generated component. Please register LoginActivity_ instead of LoginActivity
Run Code Online (Sandbox Code Playgroud)

Eclipse:3.7.2我附上了一些可能相关的图片.如果您还有其他需要,请告诉我.

注释处理-1 注释处理-2 Java的构建路径 支持Java的6  -

那么这个版本有什么问题(真的很怀疑),或者我的配置错误(最有可能)?

谢谢!

PS我知道这个类似的问题,但我相信我把罐装好了.

android android-annotations

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

对同一按钮使用触摸和单击注释

我正在使用android-annotations进行示例项目并尝试学习它,但我想出了一个奇怪的事情.

假设我们有一个名为"@ + id/button"的简单按钮

现在我想为触摸和点击事件编写两种单独的方法.

@Touch
public void button(View v, MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        v.setAlpha(0.5f);
    } else if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) {
        v.setAlpha(1f);
    }
}

@Click
public void button() {
    startActivity(new Intent(this, ExampleActivity.class));
    finish();
} 
Run Code Online (Sandbox Code Playgroud)

当我运行项目时,我看到触摸事件,但是点击事件永远不会被捕获.我错过了什么,可能是概念性的吗?

java android android-annotations

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

使用AndroidAnnotations的Robolectric使测试挂起/不运行

我正在尝试使用Robolectric库配置基本应用程序.我使用的是lattest版本(3.0)以及最新的AndroidAnnotations版本(3.3.2)和Gradle 1.4.0.

在遇到AndroidHttpClient异常等少数问题后,我设法完成了一项非常简单的测试.

现在我想用Activity进行进一步测试,但我无法进行测试.测试以某种方式挂起并且永不屈服(每次测试都是黄色旋转).

这似乎是因为@Before设置,因为它在评论时产生.但为什么我不能使用这个注释设置我的活动?特别是当我使用带注释的Activity(而不是生成的Activity_)时,它会产生,这不是使用AndroidAnnotations时测试的正确方法.

这是我的截断测试类仍然无法执行...:

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
public class MapActivityTest {

  private MapActivity_ mMapActivity;

  @Before
  public void setup() {
    mMapActivity = Robolectric.buildActivity(MapActivity_.class).create().get();
  }

  @Test
  public void checkActivityNotNull() throws Exception {
    assertNotNull(mMapActivity);
  }

}
Run Code Online (Sandbox Code Playgroud)

如果可能有任何帮助,我也在使用Java 1.8.

有谁知道什么可能导致这个问题?

谢谢!

更新:

在降级到Java 7并尝试相同结果后尝试.

java android robolectric android-annotations

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

Android Annotations - 这是一个很好的做法吗?

我是初学Android开发人员(开发1.5年).
在此期间,我的主要研究来源是
www.developer.android.com和关于Udacity的谷歌培训.
最近我收到了一个重构项目,这个项目是由一位资深开发人员创建的,他深入使用了Android Annotations,在重构代码时我有点沮丧.因为这段代码看起来与我之前学到的很多不同.
然后我在一些项目中实现了Android Annotations,并惊讶于在处理REST服务,分离背景和UI任务等方面有多么方便.
所以问题是:

  1. 在代码样式约定和其他术语方面使用Android Annotations是一个好习惯吗?
  2. 什么时候(在哪个项目中)我应该使用它们什么时候不应该?

android-annotations

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

在Android注释后使用生成文件夹找不到AndroidManifest.xml文件

将@EActivity注释添加到班级后,我无法运行我的项目。

这是我的Gradle项目:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

这是我的Gradle模块:app

apply plugin: 'com.android.application'
def AAVersion = '4.2.0'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.tasks" …
Run Code Online (Sandbox Code Playgroud)

android android-annotations android-gradle-plugin

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