2014-11-01 121 views
0

佈局應用程序崩潰,當我用layout_toRightOf在android系統

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#e6e6e6"> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:background="@drawable/headerbar" 
     android:padding="10dip" > 

     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:layout_marginLeft="10dp" 
      android:layout_centerVertical="true" 
      android:src="@drawable/logo" /> 

     <TextView 
      android:id="@+id/textViewtest" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/imageView1" 
      android:layout_alignParentRight="true" 
      android:layout_marginRight="18dp" 
      android:text="@string/appsetting" 
      android:background="@drawable/pinkbuttonbackground" 
      android:layout_centerVertical="true" 
      android:padding="5dp"    
      android:textAppearance="@dimen/textfontsize" /> 

    </RelativeLayout> 

     <Button 
     android:id="@+id/item_buttonId" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="@string/okButton" 
     android:textColor="#ffffff" 
     android:background="#be0054" 
     android:textStyle="bold" /> 

    <AutoCompleteTextView 
     android:id="@+id/item_autoComplete" 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/textView1" 
     android:textCursorDrawable="@null" 
     android:background="@drawable/background_textfield" 
     android:singleLine="true" 
     android:paddingLeft="2dp" 
     android:textColor="#000000" /> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_marginRight="38dp" 
     android:layout_marginTop="84dp" 
     android:layout_toLeftOf="@+id/item_autoComplete" 
     android:text="@string/chooseStation" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textColor="#d70261" />  
</RelativeLayout> 

![] [1]

![在這裏輸入的形象描述] [2]

我的應用程序崩潰時,我寫l android:layout_toRightOf =「@ + id/textView1」 我的textView1是textview名稱「選擇站」實際上有自動完成字段whch低於textview。我需要shi FT上右..when我用這個機器人:layout_toRightOf = 「@ + ID/textView1」 它creash .. 這裏登錄

11-01 13:20:56.556: E/AndroidRuntime(2112): FATAL EXCEPTION: main 
11-01 13:20:56.556: E/AndroidRuntime(2112): java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.widget.RelativeLayout$DependencyGraph.getSortedViews(RelativeLayout.java:1286) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.widget.RelativeLayout.sortChildren(RelativeLayout.java:294) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:314) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.View.measure(View.java:12603) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:293) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.View.measure(View.java:12603) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1369) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:660) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:553) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.View.measure(View.java:12603) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4677) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:293) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2072) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.View.measure(View.java:12603) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1044) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.os.Handler.dispatchMessage(Handler.java:99) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.os.Looper.loop(Looper.java:137) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at android.app.ActivityThread.main(ActivityThread.java:4340) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at java.lang.reflect.Method.invokeNative(Native Method) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at java.lang.reflect.Method.invoke(Method.java:511) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
11-01 13:20:56.556: E/AndroidRuntime(2112):  at dalvik.system.NativeStart.main(Native Method) 

預期輸出

+0

你已經寫了'android:la yout_toLeftOf =「@ + id/item_autoComplete」'然後當你編寫'android:layout_toRightOf =「@ + id/textView1」',它創建循環依賴 – 2014-11-01 08:05:51

+0

顯示設計你想實現什麼 – 2014-11-01 08:07:17

+0

等待minut我會告訴你 – user944513 2014-11-01 08:07:48

回答

1

分配android:layout_alignParentRight="true"AutoCompleteTextView

<AutoCompleteTextView 
      android:id="@+id/item_autoComplete" 
      android:layout_width="150dp" 
      android:layout_height="wrap_content" 
      android:layout_alignBaseline="@+id/textView1" 
      android:textCursorDrawable="@null" 
      android:background="@drawable/background_textfield" 
      android:singleLine="true" 
      android:layout_marginRight="10dp" 
      android:layout_alignParentRight="true" 
      android:paddingLeft="2dp" 
      android:textColor="#000000" /> 
     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_marginRight="38dp" 
      android:layout_marginTop="84dp" 
      android:text="chooseStation" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="#d70261" /> 
+0

實際上它不是crashing.but自動完成是觸及寬度的結尾 – user944513 2014-11-01 08:18:59

+0

你會得到預期的結果嗎?你是什​​麼意思*寬度*結尾*?屏幕結束? – 2014-11-01 08:19:26

+0

我需要一些填充,以便它不會觸及寬度的末端。等待我將舉例,因爲您會看到我的標籤在左邊的「選擇標籤」中有一些邊距。我需要一些自動填充的末尾邊距 – user944513 2014-11-01 08:20:14