我想在我的项目中使用Butter Knife.我根据Butter Knife教程做了一切.但是当我向视图设置任何内容(setText,setClickListener ...)时,我得到了null对象引用异常.
这是我的代码:
public class LoginActivity extends AppCompatActivity implements LoginView, View.OnClickListener {
@BindView(R.id.acEtUsername) AppCompatEditText userName;
@BindView(R.id.acEtPassword) AppCompatEditText password;
@BindView(R.id.prgCheckLogin) ProgressBar prgCheckLogin;
@BindView(R.id.btnLogin) Button btnLogin;
LoginPresenter loginPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
ButterKnife.bind(this);
ButterKnife.setDebug(true);
loginPresenter = new LoginPresenterImpl(this);
btnLogin.setOnClickListener(this); // or userName.setText("userName");
}
/** Other Methods **/
Run Code Online (Sandbox Code Playgroud)
activity_login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/acEtUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginRight="32dp"
android:layout_marginLeft="32dp"
android:hint="@string/user_name"/>
<android.support.v7.widget.AppCompatEditText
android:id="@+id/acEtPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginTop="8dp" …Run Code Online (Sandbox Code Playgroud) 如何禁用BottomSheetDialogFragment手指拖动?
我看到了类似的问题,但他们BottomSheet都不是BottomSheetDialogFragment.
android android-layout android-view android-dialog bottom-sheet
集成一些库(例如Branch-io在 Android 中)需要在项目清单中定义元数据。其中一些变量就像TestMode
<meta-data android:name="io.branch.sdk.TestMode" android:value="true" />
Run Code Online (Sandbox Code Playgroud)
因此,当我们想要发布应用程序时,我们应该将其更改为 False。
有什么方法可以根据某处定义变量BuildType并将其分配给元数据吗?
我正在使用凌空,我有一个队列来调用一些API.队列从数据库填充.
在向请求volley队列添加请求之前,我通过调用设置请求标记
jsonObjectRequest.setTag(id);
作为回应,我想从该database列中删除一列id等于请求标记ID.
那么,我如何获得请求标签HttpRequest response?
我为android实现了BottomNavigation视图,我有一些片段显示为BottomNavigation页面.根据Google Material Design Guide Lines,我想展示具有交叉淡入淡出动画的片段.
通过触摸BottomNavigation的项目,我的ViewpPager会使用默认的幻灯片动画更改片段.
我在这里和这里读了一些解决方案.但这些并不是真正的淡化动画,我无法设置渐弱的持续时间.
那么有什么方法可以在更改ViewPager的选项卡时设置动画?
我的seekBar样式是android Widget.AppCompat.SeekBar.Discrete.我有自己的tickMarker,但你可以看到它显示在拇指标记前面,但我不想看到拇指背后的蜱虫.
而我拥有的东西:
我的XML:
<android.support.v7.widget.AppCompatSeekBar
style="@style/seekbarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="4"
android:padding="4dp"
android:progress="0"/>
Run Code Online (Sandbox Code Playgroud)
我的风格:
<style name="seekbarStyle" parent="Widget.AppCompat.SeekBar.Discrete">
<item name="tickMark">@drawable/seekbar_tickmark</item>
<item name="android:thumb">@drawable/circle</item>
</style>
Run Code Online (Sandbox Code Playgroud) 如何从我的 Android 应用程序中的 Web 服务器下载一些文件,并将它们存储在根位置的应用程序文件夹中或内部/外部内存中的私人文件夹中。
我可以下载文件,但无法将它们存储在私人文件夹中。
我已经写了我的下载管理器,但在显示通知(如下载百分比)时遇到了一些问题。
我Jetpack Navigation Component在我的项目中使用了信号活动和一些片段。
我有一个片段,其中包含从服务器端填充的列表。我在onViewCreated方法上调用getDataFromServer ,然后当用户单击项目时显示新片段。
问题是当我按下后退按钮时,onViewCreated再次在列表片段中调用。
那么如何防止重新创建我的第一个片段?我不想onViewCreated打。
android fragment android-fragments fragment-lifecycle android-architecture-navigation
我有一个像专辑这样的项目列表,我通过 RecyclerView 显示它。
此外,每个项目都有一个按钮,通过单击然后滚动到列表中的下一个位置来将一些数据发送到服务器。
所以我的问题是:
如果调用 smoothScrollToPosition() 方法,如何防止 RecyclerView 手动滚动(手势)但滚动到某个位置?
我有一个 UseCase 和远程存储库,它们在循环中返回 Flow,并且我在 ViewModel 中收集 UseCase 的结果,如下所示:
viewModelScope.launch {
useCase.updatePeriodically().collect { result ->
when (result.status) {
Result.Status.ERROR -> {
errorModel.value = result.errorModel
}
Result.Status.SUCCESS -> {
items.value = result.data
}
Result.Status.LOADING -> {
loading.value = true
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是当应用程序处于后台(最小化)时流程继续工作。那么我可以在应用程序在后台时暂停它并在应用程序返回前台时恢复它吗?
而且我也不想观察我视图中的数据(片段或活动)。
android ×10
android-architecture-navigation ×1
android-view ×1
bottom-sheet ×1
branch.io ×1
butterknife ×1
fragment ×1
gradle ×1
json ×1
viewmodel ×1