別のレイアウトを含むレイアウトがあります。
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<TextView
Android:id="@+id/textView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextView"/>
<include layout="@layout/included_layout" />
</LinearLayout>
include_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<TextView
Android:id="@+id/includedTextView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Included TextView"/>
</LinearLayout>
含まれているレイアウトでTextViewへの参照を取得するにはどうすればよいですか? (まだ)サポートされていませんか?
主な活動:
import Android.app.Activity
import Android.os.Bundle
import Android.support.v7.app.AppCompatActivity
import kotlinx.Android.synthetic.activity_main.*
class MainActivity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
textView.text = "text" // works!
textViewInclude.text = "textInclude" // does not work: "Unresolved reference: textViewInclude "
}
}
含まれているレイアウトをimport
する必要があります。
import Android.app.Activity
import Android.os.Bundle
import Android.support.v7.app.AppCompatActivity
import kotlinx.Android.synthetic.main.activity_main.*
import kotlinx.Android.synthetic.main.included_layout.* // Here
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// From activity_main.textView
textView.text = "text"
// From included_layout.textViewInclude
textViewInclude.text = "textInclude"
}
}