回答編集履歴

2 投稿内容の事実に誤りがあった

type23

type23 score 8

2017/04/14 21:52  投稿

すみません。訂正です。  
実際は例外が発生しなくなっただけで、RippleEffectの(OFFはbackgroundをnullに設定で出来ましたが、)切替が出来ていませんでした。  
引き続き回答をお待ちしています。  
 
 
?で始まるものは各テーマのattributeを取得するために記述する。という事がわかりました。
なので、テーマからattributeを解決する方法が見つかり、以下のコードで期待する動作が出来ました。
正解かどうかが分かっていないので、ご指摘があればおねがいします。
```kotlin
val outValue = TypedValue()
applicationContext.theme.resolveAttribute(android.R.attr.selectableItemBackground, outValue, true)
nameView.background = ContextCompat.getDrawable(applicationContext, outValue.resourceId)
```
1 インデントが見にくかったので修正

type23

type23 score 8

2017/04/14 21:31  投稿

?で始まるものは各テーマのattributeを取得するために記述する。という事がわかりました。
なので、テーマからattributeを解決する方法が見つかり、以下のコードで期待する動作が出来ました。
正解かどうかが分かっていないので、ご指摘があればおねがいします。
```kotlin
                   val outValue = TypedValue()
                   applicationContext.theme.resolveAttribute(android.R.attr.selectableItemBackground, outValue, true)
                   nameView.background = ContextCompat.getDrawable(applicationContext, outValue.resourceId)
val outValue = TypedValue()
applicationContext.theme.resolveAttribute(android.R.attr.selectableItemBackground, outValue, true)
nameView.background = ContextCompat.getDrawable(applicationContext, outValue.resourceId)
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る