คำถามติดแท็ก android-databinding

Data Binding Library เพื่อเขียนเค้าโครงที่เปิดเผยและลดรหัสกาวที่จำเป็นในการผูกตรรกะและเค้าโครงแอปพลิเคชัน Data Binding Library มีทั้งความยืดหยุ่นและความเข้ากันได้ในวงกว้างซึ่งเป็นไลบรารีที่รองรับดังนั้นคุณจึงสามารถใช้กับแพลตฟอร์ม Android ทุกเวอร์ชันที่กลับไปเป็น Android 2.1 (API ระดับ 7 ขึ้นไป)

13
วิธีใช้ data-binding กับ Fragment
ฉันกำลังพยายามติดตามตัวอย่างการผูกข้อมูลจาก google doc อย่างเป็นทางการhttps://developer.android.com/tools/data-binding/guide.html ยกเว้นว่าฉันกำลังพยายามนำข้อมูลไปใช้กับการแยกส่วนไม่ใช่กิจกรรม ข้อผิดพลาดที่ฉันได้รับเมื่อรวบรวมคือ Error:(37, 27) No resource type specified (at 'text' with value '@{marsdata.martianSols}. onCreate สำหรับแฟรกเมนต์มีลักษณะดังนี้: @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); MartianDataBinding binding = MartianDataBinding.inflate(getActivity().getLayoutInflater()); binding.setMarsdata(this); } onCreateView สำหรับแฟรกเมนต์มีลักษณะดังนี้: @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.martian_data, …

16
Kotlin-android: ฐานข้อมูลอ้างอิงที่ไม่ได้รับการแก้ไข
ฉันมีคลาสแฟรกเมนต์ต่อไปนี้เขียนใน Java โดยใช้ไลบรารี databinding ใหม่ import com.example.app.databinding.FragmentDataBdinding; public class DataFragment extends Fragment { @Nullable private FragmentDataBinding mBinding; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_data, container, false); return mBinding.getRoot(); } } มันรวบรวมและทำงานได้ดี ฉันพยายามเขียนมันใหม่ใน Kotlin และทำสิ่งต่อไปนี้: import com.example.app.databinding.FragmentDataBdinding class ProfileFragment : Fragment() { private …

4
การเชื่อมโยงฐานข้อมูล Android โดยใช้ตัวดำเนินการเชิงตรรกะ“ &&”
ฉันพยายามใช้ตัวดำเนินการและ "&&" ใน xml โดยใช้ Android databinding android:visibility="@{(bean.currentSpaceId == bean.selectedSpaceId **&&** bean.currentSpaceId > 0)? View.VISIBLE: View.GONE}" แต่ฉันพบข้อผิดพลาดในการคอมไพล์: ข้อผิดพลาด: การดำเนินการล้มเหลวสำหรับงาน ': app: dataBindingProcessLayoutsDevDebug' org.xml.sax.SAXParseException; systemId: file: /Users/path/app/build/intermediates/res/merged/dev/debug/layout/fragment_space.xml; lineNumber: 106; columnNumber: 89; ชื่อเอนทิตีต้องเป็นไปตาม "&" ในการอ้างอิงเอนทิตีทันที และข้อผิดพลาดของไฮไลต์สีแดงในสตูดิโอ Android "อักขระที่ไม่ใช้ Escape & หรือไม่มีการสิ้นสุด" แล้วจะแก้ไขอย่างไรดี? แก้ไข: พบคำตอบอักขระเหล่านี้จำเป็นต้องหลีกเลี่ยง: '&' --> '&' '<' --> '<' '>' --> …

8
ฉันจะใช้ databinding เพื่อรวมสตริงจากทรัพยากรกับตัวแปรไดนามิกใน XML ได้อย่างไร
ฉันมี TextView ซึ่งมีสตริงแบบฮาร์ดโค้ดและฉันมีตัวแปรไดนามิกที่ฉันต้องการใส่ไว้ท้ายสตริงนี้ นี่คือรหัสของฉัน: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginLeft="16dp" android:layout_marginRight="16dp"> <TextView android:id="@+id/PeopleName" android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/Generic_Text"+"@{ Profile.name }" /> </LinearLayout> android:text="@string/Generic_Text"+"@{ Profile.name }"ฉันมีปัญหากับ Generic_Textรัฐ "ชื่อของฉันคือ" แล้วProfile.nameเป็นแบบไดนามิกและเห็นได้ชัดว่ามีการเปลี่ยนแปลงจากโปรไฟล์ไปยังโปรไฟล์ ฉันต้องการมันเพื่อให้การส่งออก TextView ทั้งชื่อของฉันคือ {} ความช่วยเหลือใด ๆ จะดีมาก

5
การเชื่อมโยงข้อมูล Android โดยใช้แท็กรวม
อัปเดตหมายเหตุ: ตัวอย่างข้างต้นทำงานได้อย่างถูกต้องเนื่องจากรีลีส 1.0-rc4 แก้ไขปัญหาการต้องการตัวแปรที่ไม่จำเป็น คำถามเดิม: ฉันทำตามที่อธิบายไว้ในเอกสารและไม่ได้ผล: main.xml: <layout xmlns:andr... <data> </data> <include layout="@layout/buttons"></include> .... buttons.xml: <layout xmlns:andr...> <data> </data> <Button android:id="@+id/button" ...." /> MyActivity.java: ... binding = DataBindingUtil.inflate... binding.button; ->cannot resolve symbol 'button' วิธีรับปุ่ม?

30
ไม่ได้สร้างคลาสการผูกข้อมูล
ฉันใช้การผูกข้อมูลในโปรเจ็กต์ของฉันเมื่อใช้<layout>และ<data>ในคลาสการโยง xml ของฉันจะไม่ถูกสร้างขึ้น ตัวอย่างเช่นฉันมี activity_main.xml <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> </data> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> </RelativeLayout> </layout> ตอนนี้ถ้าฉันเขียนActivityMainBindingในกิจกรรม / ส่วนของฉันมันแสดงข้อผิดพลาดว่าคลาสไม่พร้อมใช้งาน แต่หลังจากรวม<variable>ในไฟล์ xml ของฉันแล้วก็สามารถสร้างActivityMainBindingคลาสได้ Android Studio: 2.1.3 Classpath: com.android.tools.build:gradle:2.1.3 minSdkVersion 16 targetSdkVersion 24 buildToolsVersion 24.0.0

4
วิธีใช้ Data Binding และ Kotlin ใน Android Studio 3.0.0
ฉันเพิ่งเริ่มใช้ Android Studio 3.0.0 แต่ทุกครั้งที่พยายามสร้างโครงการฉันได้รับข้อผิดพลาดนี้: Error:Circular dependency between the following tasks: :app:compileDebugKotlin +--- :app:dataBindingExportBuildInfoDebug | \--- :app:compileDebugKotlin (*) \--- :app:kaptDebugKotlin \--- :app:dataBindingExportBuildInfoDebug (*) (*) - details omitted (listed previously) ฉันใช้ kapt "com.android.databinding:compiler:2.2.0" ก่อนที่ฉันจะใช้ androidProcessor "com.android.databinding:compiler:2.2.0" และมันก็ใช้งานได้ดี ... ฉันทำอะไรผิด ?? ขอบคุณ!

3
ใช้การผูกข้อมูลเพื่อตั้งค่าการมองเห็น
พยายามที่จะมองเห็นชุดของViewใช้ตัวแปรที่กำหนดเอง Identifiers must have user defined types from the XML file. visible is missing itแต่ข้อผิดพลาดเกิดขึ้น: เป็นไปได้ไหมที่จะตั้งค่าการมองเห็นโดยใช้การผูกข้อมูล ขอบคุณ. <data> <variable name="sale" type="java.lang.Boolean"/> </data> <FrameLayout android:visibility="@{sale ? visible : gone}"/>

15
ตั้งค่ารหัสทรัพยากรที่วาดได้ใน android: src สำหรับ ImageView โดยใช้การผูกข้อมูลใน Android
ฉันกำลังพยายามตั้งรหัสทรัพยากรที่วาดได้เป็น android: src ของ ImageView โดยใช้การผูกข้อมูล นี่คือวัตถุของฉัน: public class Recipe implements Parcelable { public final int imageResource; // resource ID (e.g. R.drawable.some_image) public final String title; // ... public Recipe(int imageResource, String title /* ... */) { this.imageResource = imageResource; this.title = title; } // ... } นี่คือเค้าโครงของฉัน: <?xml version="1.0" …

10
ฉันต้องการเชื่อมต่อสองสตริงสำหรับ TextView ใน Android, Data Binding Api
ฉันใช้DataBindingApi เพื่อตั้งค่ามุมมองในเค้าโครงของ Android นี่คือเค้าโครงของฉัน layout.xml <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="user" type="testing.sampleapp.com.sampleapp.User"/> </data> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{ "Hello " + user.firstName}"/> </LinearLayout> ฉันต้องการ TextView เพื่อแสดงสวัสดีชื่อผู้ใช้ วิธีบรรลุสิ่งนี้โดยใช้ API การผูกข้อมูล

30
ไม่พบสัญลักษณ์ DataBindingComponent ในโครงการ Android Studio 3.2 Canary 16 Kotlin
ฉันเพิ่งสร้างโปรเจ็กต์ใหม่บน Android Studio 3.2 Canary 16 โดยเปิดใช้งาน Kotlin จากนั้นฉันก็เปิดใช้งานการผูกข้อมูลด้วย แต่ฉันได้รับข้อผิดพลาดที่แจ้งว่าไม่พบคลาส DataBindingComponent นี่คือผู้เริ่มโครงการของฉัน: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = '1.2.41' ext.android_plugin_version = '3.2.0-alpha10' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0-alpha16' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place …

2
ไม่สามารถรับรูทวิวจากการผูกข้อมูลหลังจากเปิดใช้งานปลั๊กอิน Safe-args
ฉันกำลังทำงานกับแอพ Android โดยใช้ dataBinding และกำลังพยายามเพิ่มปลั๊กอิน safe-args แต่หลังจากเปิดใช้งานปลั๊กอินแล้วฉันจะไม่สามารถรับมุมมองรูทผ่านทางผูกพันได้อีก - Android Studio ให้ข้อผิดพลาด: Unresolved Reference None of the following candidates is applicable because of a receiver type mismatch: * internal val File.root: File defined in kotlin.io ฉันจะทำให้ databinding และ safe-args เล่นด้วยกันได้อย่างไร โปรดทราบว่าในขณะที่ข้อมูลโค้ดอยู่ใน Kotlin ฉันจะทำตามคำตอบของ Java อย่างมีความสุข ไม่สะดวกใน Java แต่ฉันสามารถอ่านและแปลได้อย่างง่ายดาย ฉันไม่สามารถหาคนอื่นที่มีปัญหาเดียวกันโดย Googling ข้อความแสดงข้อผิดพลาดและ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.