質問編集履歴

2 gradleの情報を追記しました。

yulth1123

yulth1123 score 35

2017/10/13 22:04  投稿

Android AnkoによるTabLayotの使用
ui.setContentView(this)でNoSuchMethodErrorが発生します。
なぜでしょうか。
参考サイト:
http://lvla.hatenablog.com/entry/2017/01/12/004737
class MainUi : AnkoComponent<MainActivity> {
   private lateinit var viewPager: ViewPager
   override fun createView(ui: AnkoContext<MainActivity>): View = with(ui) {
       verticalLayout {
           val tabLayout = tabLayout {
               tabMode = TabLayout.MODE_SCROLLABLE
               tabGravity = TabLayout.GRAVITY_FILL
               setSelectedTabIndicatorColor(getColor(ctx, R.color.colorPrimary))
           }.lparams(width = matchParent, height = wrapContent)
           viewPager = viewPager {
               id = 1
               offscreenPageLimit = 2
           }.lparams(width = matchParent, height = matchParent)
       }
   }
}
class MainActivity : AppCompatActivity() {
   private val ui = MainUi()
   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       ui.setContentView(this)
   }
}
}
app build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
   compileSdkVersion 25
   buildToolsVersion "25.0.3"
   defaultConfig {
       applicationId "net.jushin.monemana"
       minSdkVersion 23
       targetSdkVersion 25
       versionCode 1
       versionName "1.0"
       testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
   }
   buildTypes {
       release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
       }
   }
}
dependencies {
   compile fileTree(include: ['*.jar'], dir: 'libs')
   androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
       exclude group: 'com.android.support', module: 'support-annotations'
   })
   compile "org.jetbrains.anko:anko:$anko_version"
   compile 'com.android.support:appcompat-v7:25.3.1'
   compile 'com.android.support.constraint:constraint-layout:1.0.2'
   compile 'com.android.support:design:25.3.1'
   testCompile 'junit:junit:4.12'
   compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
   compile 'org.jetbrains.anko:anko-sdk15:0.8.3'
   compile 'org.jetbrains.anko:anko-support-v4:0.8.3'
   compile 'org.jetbrains.anko:anko-appcompat-v7:0.8.3'
   // Appcompat-v7 (only Anko Commons)
   compile "org.jetbrains.anko:anko-appcompat-v7-commons:$anko_version"
   // Appcompat-v7 (Anko Layouts)
   compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
   compile "org.jetbrains.anko:anko-coroutines:$anko_version"
   // CardView-v7
   compile "org.jetbrains.anko:anko-cardview-v7:$anko_version"
   // Design
   compile "org.jetbrains.anko:anko-design:$anko_version"
   compile "org.jetbrains.anko:anko-design-coroutines:$anko_version"
   // GridLayout-v7
   compile "org.jetbrains.anko:anko-gridlayout-v7:$anko_version"
   // Percent
   compile "org.jetbrains.anko:anko-percent:$anko_version"
   // RecyclerView-v7
   compile "org.jetbrains.anko:anko-recyclerview-v7:$anko_version"
   compile "org.jetbrains.anko:anko-recyclerview-v7-coroutines:$anko_version"
   // Support-v4 (only Anko Commons)
   compile "org.jetbrains.anko:anko-support-v4-commons:$anko_version"
   // Support-v4 (Anko Layouts)
   compile "org.jetbrains.anko:anko-support-v4:$anko_version"
}
repositories {
   mavenCentral()
}
project build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
   ext.kotlin_version = '1.1.51'
   ext.anko_version = '0.10.1'
   repositories {
       jcenter()
   }
   dependencies {
       classpath 'com.android.tools.build:gradle:2.3.3'
       classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
       // NOTE: Do not place your application dependencies here; they belong
       // in the individual module build.gradle files
   }
}
allprojects {
   repositories {
       jcenter()
   }
}
task clean(type: Delete) {
   delete rootProject.buildDir
}
  • Android

    8254 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Kotlin

    896 questions

    Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

1 タグの追加

yulth1123

yulth1123 score 35

2017/10/12 00:09  投稿

Android AnkoによるTabLayotの使用
ui.setContentView(this)でNoSuchMethodErrorが発生します。
なぜでしょうか。
参考サイト:
http://lvla.hatenablog.com/entry/2017/01/12/004737
class MainUi : AnkoComponent<MainActivity> {
private lateinit var viewPager: ViewPager
override fun createView(ui: AnkoContext<MainActivity>): View = with(ui) {
verticalLayout {
val tabLayout = tabLayout {
tabMode = TabLayout.MODE_SCROLLABLE
tabGravity = TabLayout.GRAVITY_FILL
setSelectedTabIndicatorColor(getColor(ctx, R.color.colorPrimary))
}.lparams(width = matchParent, height = wrapContent)
viewPager = viewPager {
id = 1
offscreenPageLimit = 2
}.lparams(width = matchParent, height = matchParent)
}
}
}
class MainActivity : AppCompatActivity() {
private val ui = MainUi()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
ui.setContentView(this)
}
}
  • Android

    8254 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Kotlin

    896 questions

    Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

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