我添加了一个新动作Navigation.xml:
<fragment
android:id="@+id/launcher_home"
android:name="com.example.android.codelabs.navigation.MainFragment"
android:label="@string/home"
tools:layout="@layout/main_fragment">
<action
android:id="@+id/go_to_step_one"
app:destination="@id/flow_step_one" />
</fragment>
Run Code Online (Sandbox Code Playgroud)
调用导航操作时,如果我使用,导航工作正常:
view.findViewById<Button>(R.id.navigate_action_bt)?.setOnClickListener(
Navigation.createNavigateOnClickListener(R.id.go_to_step_one, null)
)
Run Code Online (Sandbox Code Playgroud)
但是当用lambda调用它时,它不起作用:
view.findViewById<Button>(R.id.navigate_action_bt)?.setOnClickListener {
Navigation.createNavigateOnClickListener(R.id.go_to_step_one, null)
}
Run Code Online (Sandbox Code Playgroud) android kotlin android-architecture-components android-jetpack android-architecture-navigation
我已经看到了这个问题。类似的错误,但就我而言是不同的。
与Room一起工作时,我正在创建桌子。工作正常。
@Daointerface
UserDao {
@Query("SELECT * FROM user")
fun getAll(): List<User>
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(user: User)
@Delete
fun delete(user: User)}
Run Code Online (Sandbox Code Playgroud)
但后来我发现所有表名都必须存储在不同的类中。如表名“用户”->存储在不同的类中。
例如。
class Table {
companion object {
const val USER_TABLE = "user"
}}
Run Code Online (Sandbox Code Playgroud)
但是下面的代码不起作用。它不是从Table类中获取表名。给出编译时错误。“ Annotation参数必须是编译时间常数”,请帮帮我。
@Query("SELECT * FROM $Table.USER_TABLE")
fun getAll(): List<User>
Run Code Online (Sandbox Code Playgroud) android kotlin android-room android-architecture-components android-jetpack
基于下面的表格,我想知道如果有一种方法(或插件)使用字段tipo_indicador过滤indicadores字段:
tipo_indicador = forms.ModelChoiceField(
queryset=TipoIndicador.objects.all(),
label=u'Tipo de indicador',
required=False,
)
indicadores = forms.ModelMultipleChoiceField(
label= _(u'Indicadores'),
required=False,
queryset=Indicador.objects.all(),
widget=admin_widgets.FilteredSelectMultiple(verbose_name=_(u'indicadores'), is_stacked=False)
Run Code Online (Sandbox Code Playgroud)
)
django django-templates django-models django-forms django-views
在我的代码中,我想发送带有基本身份验证的帖子请求。
这是我的邮递员屏幕截图:
这是我的apiInterface类
@FormUrlEncoded
@POST("GetBarcodeDetail")
Call<PreliminaryGoodsAcceptResponse> PRELIMINARY_GOODS_ACCEPT_RESPONSE_CALL(@Field("ProcName") String procName, @Field("Barcode") String barcode, @Field("LangCode") String langCode);
Run Code Online (Sandbox Code Playgroud)
这是我的apiclient
public class ApiClient {
public static final String BASE_URL = "http://192.**********";
private static Retrofit retrofit = null;
private static OkHttpClient sClient;
public static Retrofit getClient() {
if(sClient == null) {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
sClient = new OkHttpClient.Builder()
.addInterceptor(new HttpLoggingInterceptor(HttpLoggingInterceptor.Logger.DEFAULT))
.addInterceptor(interceptor)
.build();
}
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(sClient)
.build();
}
return retrofit;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何使用标头发送帖子请求:
标头用户名:EBA令牌:
34242353453456563DSFS
关于arch中的分页库。成分
它具有三个不同的数据源:
如果后端响应不支持下一个/上一个索引键而只支持当前页面,则使用哪个。当响应如下:
{
"status": "success",
"response": "1",
"message": "Data fetched successfully",
"data": {
"total": 2,
"per_page": "5",
"page": 1,
"items": [],
"last_page": 1,
"has_more": false
}
}
Run Code Online (Sandbox Code Playgroud) paging android android-architecture-components android-jetpack androidx
如何轻松获得数据库大小的计数,以便我可以根据数据库是否为空执行适当的操作?
我有一个 App DB、视图模型、存储库、Dao 和所有其他部分,并且我的对象插入......但我无法调用onCreate()数据库中列表的大小。当我尝试获取mAppDatabase.vehicleDao().getAll().getValue().size(), 或 时mVehicleViewModel.getAll().getValue().size(),我得到空指针异常。
但是我知道我的对象正在插入,因为当我运行一个 observable 时,我可以记录它们的信息......但我无法在主线程/onCreate 中获得计数。帮助!示例代码如下:
protected void onCreate(Bundle savedInstanceState) {
...
mAppDatabase = AppDatabase.getInstance(MyActivity.this);
Log.d("LISTSIZEAPP", String.valueOf(mAppDatabase.myDao().getAll().getValue().size()));
ObserveItems();
Run Code Online (Sandbox Code Playgroud)
或者
protected void onCreate(Bundle savedInstanceState) {
...
mViewModel = ViewModelProviders.of(this).get(MyViewModel.class);
Log.d("LISTSIZEVM", String.valueOf(mViewModel.getAll().getValue().size()));
ObserveItems();
Run Code Online (Sandbox Code Playgroud)
^ 两者的空指针异常(尝试在空对象引用上调用接口方法 'java.lang.Object[] java.util.List.toArray()')...
然而:
private void ObserveItems() {
mViewModel.getAll().observe(this, new Observer<List<Foo>>() {
@Override
public void onChanged(@Nullable final List<Foo> foos) {
mFoos= foos;
for (Vehicle v: mFoos) {
Log.d("ROOM INFO - FOOS", v.getFooTitle());
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
我可以记录我想要的所有信息。所以这些项目是明确插入的。是什么赋予了?我错过了什么?谢谢你。
java android android-room android-architecture-components android-jetpack
我想从我的 sql 中获取一个密钥对对象,所以我怎么能像这样
@Query("SELECT id,name FROM table")
HashMap<Integer, String> getValues();
Run Code Online (Sandbox Code Playgroud) android ×6
android-architecture-components ×4
android-room ×3
kotlin ×2
android-architecture-navigation ×1
androidx ×1
django ×1
django-forms ×1
django-views ×1
header ×1
java ×1
paging ×1
retrofit ×1