无法保存哪个视图有焦点?

时间:2016-02-19 03:17:20

标签: android

我的应用包含“设置”活动,其中包含2个图像按钮“返回”和“关于”,每当我按下任何这些按钮时,我得到:

“无法保存哪个视图具有焦点,因为焦点视图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>

不要注意“scrollview”(我不认为问题存在),只需看看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();
            }
        });
    }

所以,如何解决这个问题?我不明白这个错误意味着什么..任何建议

1 个答案:

答案 0 :(得分:2)

我认为问题是:

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

您可以对此LinearLayout启用焦点,但您没有为其提供任何ID。