Я только начинаю создавать Android приложений и хочу правильно использовать файл строковых ресурсов. Я создал макет с вкладками, используя это руководство , которое работает, но сейчас я пытаюсь использовать строковые ресурсы для имен вкладок. Я продолжаю получать сообщение об ошибке.
В моих файлах res / values / strings. xml file:
<?xml version="1.0" encoding="utf-8"?>
<resources>
...
<string name="timeline_tab_name">Timeline</string>
</resources>
Теперь это работает, когда я ссылаюсь на имя в xml файл, как таковой.
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/timeline_tab_name"
android:textSize="40sp"/>
Это MainActivity.kt
package com.*****.*****
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val fragmentAdapter = MyPagerAdapter(supportFragmentManager)
viewpager_main.adapter = fragmentAdapter
tabs_main.setupWithViewPager(viewpager_main)
}
}
Моя ошибка возникает в MyPagerAdapter.kt
package com.*****.*****
import android.provider.Settings.Global.getString
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
class MyPagerAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm) {
override fun getItem(position: Int): Fragment {
return when (position) {
0 -> FirstFragment()
1 -> SecondFragment()
else -> {
return ThirdFragment()
}
}
}
override fun getCount(): Int {
return 3
}
override fun getPageTitle(position: Int): CharSequence {
val timeline_name: String = getString(R.string.timeline_tab_name)
return when (position) {
0 -> timeline_name
1 -> "Second Tab"
else -> "Third Tab"
}
}
}
Ошибка, когда я ' м пытаюсь получить ресурс R.string.timeline_tab_name
. Об этом говорится во всплывающей подсказке:
Type mismatch.
Required: ContentResolver!
Found: Int
Я не могу найти информацию об этой ошибке, и все, что я пробовал, исправляет ее. Может кто-нибудь мне помочь? Все руководства, которые я нашел для использования файла ресурсов, не получают ошибку, используя тот же код.