Tag: butterknife

Butterknife突然停止工作

昨天我正在使用ButterKnife.bind(this)正在进行的项目中,但突然停止工作ButterKnife.bind(this)无法绑定视图,以至于所有视图都抛出NullPointerException 。我不明白发生了什么事突然停止工作,这是一个奇怪的情况 这里有几点,我已经做了,但没有工作 使用目前我使用的最新版本8.8.1 使用旧版本,我尝试了8.0.1和8.6.0 清洁和重建 使缓存无效 删除Gradle和生成文件 以下是我正在使用的版本 ext { // sdk and tools minSdkVersion = 21 targetSdkVersion = 27 compileSdkVersion = 27 buildToolsVersion = ‘26.0.2’ // dependencies versions supportLibraryVersion = ‘27.0.0’ playServicesVersion = ‘10.2.4’ butterKnifeVersion = ‘8.8.1’ retrofitVersion = ‘2.3.0’ } 在这个愚蠢的问题上,我从8个小时的头脑中敲起了头来。如果任何人都可以帮忙的话就会被占用

在同步gradle – NullPointerException之后,ButterKnife不绑定视图

我有一个ButterKnife库的问题。 在同步gradle之后,我的视图停止了绑定 – 在没有任何问题的情况下运行。 我附上一些代码。 build.gradle(app) compile 'com.jakewharton:butterknife:8.6.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0' 主要活动 public class MainActivity extends AppCompatActivity { @BindView(R.id.navigation) BottomNavigationView navigation; private Fragment fragment; private FragmentManager fragmentManager; private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.navigation_home: fragment = new HomeFragment(); break; case R.id.navigation_dashboard: fragment = new […]

为什么XML ID的名称约定与Java的约定不同?

我看了几个Android项目。 为什么通常的做法是使用带有下划线的小写字母来表示XML ID? 在XML中: @+id/name_text <!– sometimes with "_view" suffix, sometimes without –> 在Java中: TextView nameTextView = // … 我会建议以下ID: @+id/nameTextView 那实际上是我怎么做的。 缺点是什么? 特别是如果XML ID和字段名称遵循相同的模式,则数据绑定可能会更短(例如,使用ButterKnife)。 在这种情况下,我们可以忽略注释中的XML ID: @BindView TextView nameTextView;

Kotlin Android视图绑定:findViewById vs Butterknife vs Kotlin Android扩展

我试图找出在Kotlin中执行Android视图绑定的最佳方法。 似乎有几个选项在那里: findViewById val button: Button by lazy { findViewById<Button>(R.id.button) } 牛油刀 https://github.com/JakeWharton/butterknife @BindView(R.id.button) lateinit var button: Button Kotlin Android扩展 https://kotlinlang.org/docs/tutorials/android-plugin.html import kotlinx.android.synthetic.main.activity_main.* 我非常熟悉Java领域的findViewById和Butterknife,但是Kotlin中每种视图绑定方法的优缺点是什么? Kotlin Android扩展与RecyclerView + ViewHolder模式兼容吗? 另外Kotlin Android Extensions如何通过include处理嵌套视图的视图绑定? 例如:对于使用activity_main.xml的Activity,如何访问View custom1 ? activity_main.xml中 <…> <include layout="@layout/custom" android:id="@+id/custom" /> </> custom.xml <…> <View android:id="@+id/custom1" … /> <View android:id="@+id/custom2" … /> </>