假设我有一个模块,我只想导出一个实例A.但是,这A需要在构造函数中传递B和C传递实例.所以我们也会在模块中声明它们:
public class SampleModule {
@Provides
@Singleton
A provideA(B b, C c){
return new A(b, c);
}
@Provides
@Singleton
B provideB(){
return new B();
}
@Provides
@Singleton
C provideC(){
return new C();
}
}
Run Code Online (Sandbox Code Playgroud)
这工作,但现在B并C也可在代码的其他地方.我希望将它们保密,并强制客户端类只能访问A.
有没有办法实现这个目标?
我有一组存储在数组中的资源ID.这可以在回收器视图中访问以填充图像视图.问题是当我访问数组时,返回的所有值都是0.
// arrays.xml
<array name="array_category_icons">
<item>@drawable/autumn</item>
<item>@drawable/backpack</item>
</array>
// inside recycler view adapter
int[] myIcons = getActivity().getResources().getIntArray(R.array.array_category_icons);
myIcons[i] always returns 0.
Run Code Online (Sandbox Code Playgroud)
drawable只在hdpi文件夹中.
我正在向我的ImageView. 下面是我的动画代码:
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="70%"
android:pivotY="70%"
android:repeatCount="infinite"
android:startOffset="2000"
android:repeatMode="reverse"
android:toXScale="0.8"
android:toYScale="0.8" />
Run Code Online (Sandbox Code Playgroud)
java代码是:
Animation pulse = AnimationUtils.loadAnimation(this, R.anim.pulse);
reviewImage.startAnimation(pulse);
Run Code Online (Sandbox Code Playgroud)
问题是它在每个动画之后都会产生延迟,例如展开+延迟+折叠+延迟,我只想在一个周期后才给出延迟意味着在展开+折叠+延迟之后
animation android android-animation android-layout android-view
我的服务:
public class MusicService extends MediaBrowserServiceCompat {
...
}
Run Code Online (Sandbox Code Playgroud)
我的活动:
public class MediaActivity extends AppCompatActivity{
private MediaBrowserCompat mMediaBrowser;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mMediaBrowser = new MediaBrowserCompat(this,
new ComponentName(this, MusicService.class), mConnectionCallback, null);
mMediaBrowser.connect();
}
@Override
protected void onDestroy() {
super.onDestroy();
mMediaBrowser.disconnect();
}
Run Code Online (Sandbox Code Playgroud)
我想在 UI 中添加关闭按钮,但如何停止MusicService?它继续在后台进行投射。
android android-mediaplayer mediabrowserservice mediabrowserservicecompat mediabrowser
您好我添加了一个新的依赖项,当我尝试运行该应用程序时,我开始收到以下错误:
Warning:Exception while processing task java.io.IOException: Can't write [/Users/paularellano/Documents/Workbench/Android/Huddle/huddle_2.0 updt/Huddle_Android/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar] (Can't read [/Users/paularellano/.android/build-cache/d4e5659d4f4fc411f22ba3f779b09d40beccc03f/output/jars/libs/internal_impl-23.0.1.jar(;;;;;;**.class)] (Duplicate zip entry [internal_impl-23.0.1.jar:android/support/v4/view/WindowInsetsCompat.class]))
Run Code Online (Sandbox Code Playgroud)
我尝试添加排除但我不确定应该排除什么以删除这个重复的罐子,任何帮助将不胜感激!先感谢您!
摇篮:
compileSdkVersion 23
buildToolsVersion '25.0.2'
dependencies {
compile ('com.google.android.gms:play-services-location:6.5.87') {
exclude module: 'support-v4'
}
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:support-v4:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'com.google.maps.android:android-maps-utils:0.4'
compile 'info.hoang8f:android-segmented:1.0.6'
//expandable recycler view **RECENTLY ADDDED AND GIVES ERROR**
compile 'com.bignerdranch.android:expandablerecyclerview:3.0.0-RC1'
//Testing
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:3.1.4'
}
Run Code Online (Sandbox Code Playgroud)
我还在职业防守上添加了这条线,但是没有运气:
-dontwarn com.bignerdranch.**
Run Code Online (Sandbox Code Playgroud) android dependency-management gradle build.gradle android-gradle-plugin
谁能解释为什么isAttachedToWindow()是false而不是true?我似乎有附件问题。
据我了解,setContentView(rl)应该将其附加RelativeLayout到窗户上。我缺少什么?
public class TestActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final RelativeLayout rl = new RelativeLayout(this);
setContentView(rl);
boolean isAttached = rl.isAttachedToWindow();
}
}
Run Code Online (Sandbox Code Playgroud) 没有调用Observer方法.我ViewPagerCycler按照旧学校的方式测试并且工作完美.感谢帮助.
public final class ViewPagerCycler implements LifecycleObserver {
private static final int PERIOD = 3000;
private Timer mTimer;
private TimerTask mTask;
private Activity mActivity;
private ViewPager mPager;
public ViewPagerCycler(Activity activity, ViewPager pager) {
mActivity = activity;
mPager = pager;
}
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME) public void start() {
int count = mPager
.getAdapter()
.getCount();
mTimer = new Timer();
mTask = new TimerTask() {
@Override public void run() {
mActivity.runOnUiThread(new TimerTask() {
@Override public void run() {
mPager.setCurrentItem((mPager.getCurrentItem() + 1) % count, …Run Code Online (Sandbox Code Playgroud) 我正在尝试将底部导航栏与FAB重叠。我希望我的导航栏看起来像这样:
但是相反,它像这样切断了按钮:
如何防止FAB被切断?这是我的XML:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.mobgen.designsprintapp.ui.main.MainActivity">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="?android:attr/windowBackground"
android:backgroundTint="@color/colorPrimary"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@color/nav_item_color_state"
app:itemTextColor="@android:color/black"
app:menu="@menu/navigation" >
<android.support.design.widget.FloatingActionButton
android:id="@+id/tools"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="center"
android:layout_marginBottom="8dp"
android:elevation="6dp"
android:scaleType="center"
app:srcCompat="@drawable/play" />
</android.support.design.widget.BottomNavigationView>
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud) xml android android-layout android-view floating-action-button
我将Dagger v2.12与dagger-android-support以下配置一起使用:
@Singleton
@Component(
modules = arrayOf(
AndroidSupportInjectionModule::class,
AndroidBindingModule::class,
AppModule::class
)
)
interface AppComponent : AndroidInjector<App> {
@Component.Builder
abstract class Builder : AndroidInjector.Builder<App>()
}
Run Code Online (Sandbox Code Playgroud)
@Module
abstract class AndroidBindingModule {
@PerActivity
@ContributesAndroidInjector(modules = arrayOf(MainModule::class))
internal abstract fun contributeMainActivityInjector(): MainActivity
}
Run Code Online (Sandbox Code Playgroud)
@Module
class MainModule {
...
@Provides @PerActivity
fun providePresenter(rxLifecycle: ReactiveLifecycle, view: MainView) =
MainPresenter(rxLifecycle, view)
}
Run Code Online (Sandbox Code Playgroud)
class MainActivity : BaseActivity() {
@Inject
lateinit var presenter: MainPresenter
...
}
Run Code Online (Sandbox Code Playgroud)
在分析内存转储时,我注意到MainPresenter该类已经创建了两次,其中一个在MainActivity和dagger.internal.DoubleCheck(如预期的那样) …
我有一个LinearLayout,我正在CardView像这样膨胀一个:
final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
Run Code Online (Sandbox Code Playgroud)
子视图的膨胀是通过单击按钮完成的。每当新的卡片视图膨胀时,我都想滚动到屏幕底部。我是这样做的:
ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);
Run Code Online (Sandbox Code Playgroud)
但这会滚动到屏幕中间而不是底部。我究竟做错了什么?
android scrollview android-layout android-scrollview android-view
android ×10
android-view ×4
dagger ×2
dagger-2 ×2
java ×2
xml ×2
android-architecture-components ×1
animation ×1
build.gradle ×1
gradle ×1
kotlin ×1
mediabrowser ×1
scrollview ×1