2016-02-19 53 views
0

我的應用程序中包含其中包含2個imagebuttons「後退」和「約」,每當我按下這些按鈕,我得到的「設置」活動:不能保存哪個視圖有焦點?

「無法拯救其觀點焦點,因爲聚焦的觀點android.widget .LinearLayout @ 4055a9e0沒有ID」

爲my_settings XML代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/ll2" 
     android:orientation="vertical" > 

     <ScrollView 
      android:id="@+id/scrollView1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="15" > 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:focusableInTouchMode="true" 
       android:orientation="vertical" > 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:gravity="center" 
        android:layout_margin="8dp" 
        android:orientation="horizontal" > 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textAppearance="?android:attr/textAppearanceLarge" 
         android:text="@string/settings" /> 

       </LinearLayout> 
       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:gravity="center|end" 
        android:orientation="horizontal" > 

        <ToggleButton 
         android:id="@+id/tb1" 
         android:layout_margin="5dp" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_margin="5dp" 
         android:text="@string/sett1" /> 

       </LinearLayout> 

       </LinearLayout> 
      </LinearLayout> 
     </ScrollView> 




     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:background="@drawable/border2" 
      android:orientation="horizontal" > 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:id="@+id/ll_set_back" 
       android:layout_margin="3dp" 
       android:gravity="center" 
       android:layout_weight="1" 
       android:orientation="vertical" > 
       **<ImageButton 
        android:id="@+id/st_ibt1"    
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:background="@drawable/action_btn" 
        android:src="@drawable/back_ic" />** 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/back"/> 

      </LinearLayout> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:id="@+id/ll_set_about" 
       android:layout_margin="3dp" 
       android:gravity="center" 
       android:layout_weight="1" 
       android:orientation="vertical" > 
       **<ImageButton 
        android:id="@+id/st_ibt2"    
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:background="@drawable/action_btn" 
        android:src="@drawable/about_ic" />** 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/about"/> 

      </LinearLayout> 

     </LinearLayout> 
    </LinearLayout> 

不要注重‘滾動型’(我不認爲這個問題是存在的),只是看年底2個圖像按鈕的代碼..

這對於設置中的Java代碼:

public class Settings extends Activity 
{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.my_settings); 


     //code... 


     ImageButton goBack=(ImageButton)findViewById(R.id.st_ibt1); 
     ImageButton about=(ImageButton)findViewById(R.id.st_ibt2); 
     goBack.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       Intent intent=new Intent(Settings.this, MainActivity.class); 
       startActivity(intent); 
       //finish(); 
      } 
     }); 
     about.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       Intent intent=new Intent(Settings.this, About.class); 
       startActivity(intent); 
       //finish(); 
      } 
     }); 
    } 

那麼,如何解決這一問題?我不明白這是什麼錯誤意味着..任何建議

回答

2

我認爲這個問題是:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:focusableInTouchMode="true" 
    android:orientation="vertical" > 

啓用焦點移動到此的LinearLayout,但你並沒有爲它提供任何ID。

+0

畢竟問題是在他的scrollview他,我的錯誤:)。非常感謝! @Rey Pham你救了我。一般來說,如果我不能解決問題,我的應用程序會發生什麼情況? – Lena