在android wear项目中使用ButterKnife

在android wear项目中使用ButterKnife,android,wear-os,butterknife,Android,Wear Os,Butterknife,只是想知道ButterKnife(对于正常的android开发来说绝对令人惊奇)是否会在android Wear项目中用于WearableListView之类的东西 我有点犹豫在这个阶段使用它,因为像这样的代码示例(来自磨损示例) 这表明,膨胀东西的最佳时机可能不是像我在普通android项目中所做的那样在onCreate中 非常感谢结果证明这样做很有效:) 只需确保如果您使用的是任何注入的视图,那么您还可以将该用法放在匿名类的onLayoutFlatted(…)方法中,否则在您想要使用它们时,

只是想知道ButterKnife(对于正常的android开发来说绝对令人惊奇)是否会在android Wear项目中用于WearableListView之类的东西

我有点犹豫在这个阶段使用它,因为像这样的代码示例(来自磨损示例)

这表明,膨胀东西的最佳时机可能不是像我在普通android项目中所做的那样在onCreate中


非常感谢

结果证明这样做很有效:)

只需确保如果您使用的是任何注入的视图,那么您还可以将该用法放在匿名类的onLayoutFlatted(…)方法中,否则在您想要使用它们时,它们可能不会被初始化

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
        @Override
        public void onLayoutInflated(WatchViewStub stub) {
            mTextView = (TextView) stub.findViewById(R.id.text);
        }
    });
}
@InjectView(R.id.list)
WearableListView mListView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
        @Override
        public void onLayoutInflated(WatchViewStub stub) {
            ButterKnife.inject(MainActivity.this, stub);

            // Use injected views here
            mListView.setAdapter(new Adapter(MainActivity.this));
            mListView.setClickListener(MainActivity.this);
        }
    });
    // Don't use injected views here
}