目前,我正在将我的android项目转移到android-annotations。我很难理解调用注释的顺序。由于错误的顺序,我得到了nullPointerExceptions。
作为示例用例,我尝试在Fragment中使用@ViewById。但是,我在onCreateView()和onResume()中得到了nullPointerException。
解释活动生命周期中的什么时候,将触发哪个注释的文档将非常有帮助。
以下是我的代码的一小部分:
@EFragment
public class DiscoverFragment extends Fragment {
@ViewById(R.
我使用Android注释,我想实现一个简单的片段来测试它,所以我主要使用它通过@ViewById将视图绑定到它们的I。启动片段时,通过注释进行绑定,然后使用@AfterViews执行其他操作。然而,我看到的只是一个空白的屏幕。
流程:活动启动->插入片段->空白屏幕
@EActivity(R.layout.activity_add_buddy)
public class AddBuddyActivityNew extends AppCompatActivity {
/**
* Simply performing frag transaction to place the add
我是Android开发和Kotlin的新手。
我正在学习Kotlin的第一个Android教程,我有这个方法调用:
val editText = findViewById<EditText>(R.id.editText)
其中,findViewById在android.app.Activity中定义为:
@Nullable
public <T extends View> T findViewById(@IdRes int id)
Android Studio向我展示了editText被推断为EditText!类型。我读过关于Java互操作性和平台类型的Kotlin文档,
我确实在这个问题上做过工作,但是无法找到一个解决方案,期望这种不自然的方式。
我有一个活动(WebViewActivityForHeadlines),它是从我的主要活动开始的,这个活动包含一个自定义视图寻呼机(当我使用标准视图寻呼机时会发生相同的行为),而这个视图寻呼机会膨胀自定义可缩放的图像视图(当我使用标准图像视图时会发生相同的行为)。
你可以在下面找到活动代码,我只是删掉了一些不相关的部分。
@Fullscreen
@EActivity(R.layout.activity_web_view_for_headlines)
public class WebViewActivityForHea
我正在尝试创建一个具有内容区域和进度条的自定义视图,这样任何继承的自定义视图都会在内容区域中膨胀其布局。这样,您可以在子视图上显示/隐藏进度条。
@EViewGroup(R.layout.loading_view)
class LoadingView extends RelativeLayout{
// some code
@ViewById FrameLayout content;
@ViewById ProgressBar pb;
public View getFrameLayout(){
// su
我正在尝试实现对我的视图的Android注释。但我想不出该怎么做。我目前的问题是,视图中的字段总是空的。
我想我有点理解如何在视图和适配器中使用Android注释的问题。有人能给我一个提示吗?我会如何正确地做这件事?
在我的片段中,我使用了以下适配器:
ItemAdapter
@EBean
public class ItemAdapter extends BaseAdapter {
public ItemAdapter(Context context) {
this.context = context;
}
@Override
public View getView(final i
当我尝试使用KotterKnife时,我得到了下面的错误--但只针对某些类。到底怎么回事?
e: /Users/user/dev/git/to14/android/src/main/kotlin/com.example/adapters/ChapterListAdapter.kt: (59, 34): Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public fun <T : android.view.View> an
我有一个DrawerLayout,它用头布局包装一个NavigationView。XML如下:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
an
我进行了浓缩咖啡测试,以验证是否显示了文本:
public class InformationActivityTests {
@Rule
public ActivityTestRule<InformationActivity_> mInformationActivityTestRule =
new ActivityTestRule<InformationActivity_>(InformationActivity_.class) {
@Override
protect
@EActivity(R.layout.data_layout)
public class MyActivity extendsActivity
{
@Bean MyEbean bean;
@AfterViews
public void setupView()
{
bean.loadData("Test name");
}
}
@EBean public class MyEbean
{
@RootContex
我使用的是PierfrancescoSoffritti的android-youtube播放器,所以这是我的问题: 如何在kotlin中以编程方式更改videoId (从MainActivity)? 也许只是因为我是android studio的新手,所以我不太理解这一点,但我注意到,在layout.xml文件中,我可以像下面这样在视图上调用apply来更改的所有属性都是android:属性,而videoId是app:videoId。 val video = findViewById<com.pierfrancescosoffritti.androidyoutubeplayer.core
我目前正在通过安卓开发的Udemy课程学习Kotlin,除非我解决了我遇到的所有问题,否则我无法继续学习这门课程。其中一个问题是Failed To Instantiate one or more classes,它给出了详细的描述,说:
无法实例化以下类:
- android.support.v7.widget.ActionBarContainer (Open Class, Show Exception, Clear Cache)
- android.support.v7.widget.ActionBarContextView (Open Class, Show Exception, Cle
我是kotlin的新手,在我的应用程序中,我想创建一个自定义对话框。我想展示一个普通的对话。当我打电话给我的对话框时
InfoMessageDialog(activity, "Test Title", "Test desctiption of the dialog.").show();
我犯了个错误,
FATAL EXCEPTION: main
Process: com.bmates.testApp, PID: 4350
java.lang.IllegalArgumentException: Parameter specified as non-null is
安卓源码提示findViewById可以返回null: @Nullable
public final <T extends View> T findViewById(@IdRes int id) {
if (id == NO_ID) {
return null;
}
return findViewTraversal(id);
} 但是当从Kotlin调用它时,编译器在使用这种方式时不会抱怨可空性: private lateinit var swipeRefreshLayout: SwipeRefreshLayout
...
swipeRef
我正在尝试Android Jetpack导航,我得到了这个错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.navigation/com.example.android.navigation.MainActivity}: android.view.InflateException: Binary XML file line #39: Binary XML file line #39: Error inflating class com.google.android