小编joh*_*lib的帖子

Proguard 规则 -keep vs -keepclassmembers vs -keepclasseswithmembers

阅读proguard 规则

我发现我自己面对的三个似乎非常相似的术语 keep keepclassmembers keepclasswithmembers

我无法理解这三个规则之间的区别,有人可以更好地解释这种区别吗,也许还有一个例子

android proguard android-proguard

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

Android复合自定义视图恢复保存状态

我创建了包含TextViewEditText调用的复合自定义视图LabledEditText,因为我将在一个片段中有很多 EditText 字段。

我创建了一个包含以下内容的 XML 文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayoutLabeledEditText"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/label_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/label"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/value_editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:freezesText="true"
        android:saveEnabled="true"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在 View 类中如下

public class LabeledEditText extends LinearLayout {
    private EditText editText;
    private TextView label;

    public LabeledEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        inflate(context,R.layout.labeled_edit_text, this);
        label = (TextView) this.findViewById(R.id.label_textView);
        label.setText("some label");
        editText = (EditText) this.findViewById(R.id.value_editText);
    }

    protected void onRestoreInstanceState(Parcelable state) {
        String id= this.getId()+" ";
        if (state instanceof …
Run Code Online (Sandbox Code Playgroud)

android android-custom-view android-fragments

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

使用导航组件 API 时更改语言 24+

TL;DR 我们想要更改区域设置(API 24+)以显示片段,而所有这些片段都将在同一个活动中。

我们正在使用NavHostFragment, 和start_up_nav_graph.xml。该图有多个片段,即登录、入职、GDPR ..等

在此流程中,如果登录后我们发现您是德语用户,我们会尝试将您的语言环境更改为德语。在当前场景中,所有即将出现的片段(例如入职和 GDPR)都将显示在设备的语言环境中,而不是德语。

我们不能attachBaseContext在活动中使用这个答案,因为活动已经创建。

android localization android-fragments android-architecture-components android-architecture-navigation

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

在Ember中动态添加组件

使用Ember:1.13.11,Ember数据:1.13.8,ember-cli:1.13.12

我想动态地向网页添加一个组件 - 这个网页是另一个组件的模板,不认为它会产生任何不同 - .这是我的代码片段,我在其中尝试将一个名为LyricsEditorLine的组件添加到<div>标记中,不知何故,这样

议程-α/组件/歌词-editor.js内

import Ember from 'ember';
import LyricsEditorLine  from 'agenda-alpha/components/lyrics-editor-line';

export default Ember.Component.extend({
   afterRenderEvent:function(){
      LyricsEditorLine.create().appendTo($("#in"));
 },
init:function(){
  Ember.run.scheduleOnce('afterRender', this, this.afterRenderEvent);
  this._super();
 }
});
Run Code Online (Sandbox Code Playgroud)

议程-α/模板/组件/歌词,editor.hbs

<div id='in'> </div>
Run Code Online (Sandbox Code Playgroud)

每次这给了我

 'Uncaught Error: Assertion Failed: You cannot append to an existing Ember.View. Consider using Ember.ContainerView instead'
Run Code Online (Sandbox Code Playgroud)

寻找ContainerViewhere发现它已被弃用 我发现的大部分答案都没有使用ember-cli并且作为初学者使得它更难理解

我希望能够根据用户需要添加组件

ember.js ember-cli

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