2016-08-25 62 views
-1

我正在關注Google的Android Studio入門指南,並且我在this步驟中遇到了問題。具體說明如下注意事項Android Studio入門指南

注意:以前版本的Android Studio生成的XML佈局可能不包含android:id屬性。調用findViewById()將失敗,如果佈局沒有android:id屬性。如果是這種情況,請打開activity_display_message.xml並將屬性android:id =「@ + id/activity_display_message」添加到佈局元素。

我不確定在哪裏添加android:id="@+id/activity_display_message"到我的activity_display_message.xml文件?

DisplayMessageActivity.java

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.ViewGroup; 
import android.widget.TextView; 

public class DisplayMessageActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_display_message); 

     Intent intent = getIntent(); 
     String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 
     TextView textView = new TextView(this); 
     textView.setTextSize(40); 
     textView.setText(message); 

     ViewGroup layout = (ViewGroup) findViewById(R.id.activity_display_message); 
     layout.addView(textView); 
    } 
} 

activity_display_message.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.nathan.googledemo.DisplayMessageActivity"> 


</RelativeLayout> 

回答

2

這裏只有一個在佈局圖中,所以它應該是那個ID:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_display_message" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.nathan.googledemo.DisplayMessageActivity"> 


</RelativeLayout> 
2

因爲它是寫在筆記添加此屬性佈局

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_display_message"//Here is it 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.nathan.googledemo.DisplayMessageActivity"> 


</RelativeLayout> 
0

您可以將它添加到佈局中的任何位置,特定屬性的順序無關緊要。

所以這個:

<RelativeLayout  
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_display_message" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.nathan.googledemo.DisplayMessageActivity"> 
</RelativeLayout> 

在功能上等同的:

<RelativeLayout  
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.nathan.googledemo.DisplayMessageActivity" 
    android:id="@+id/activity_display_message"> 
</RelativeLayout>