2013-11-01 2 views
-3

내 activity_main.xml 파일에 13 행에 오류가 있습니다 (아래에서 볼 수 있음). 그것은 "XML을 파싱하는 중 오류가 발생했습니다 : 형식이 올바르지 않습니다 (잘못된 토큰)"라고 말합니다. 그 외에도 R.java가 자살했습니다. 나는 그것을 고칠 수있는 방법을 찾았지만,이 오류가 수정 될 때까지는 작동하지 않을 것이다. 어떤 도움을 주셔서 감사합니다. 그냥 그런데 내가 Javacodegeeks.comAndroid : 오류 : XML 구문 분석 오류 : 형식이 올바르지 않음 (유효하지 않은 토큰)

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:mynamespace="http://schemas.android.com/apk/res/com.Learning.learning" 
      xmlns:tools="http://schemas.android.com/tools" 
      mynamespace:layout_width="success" 
      mynamespace:orientation="vertical" 
      mynamespace:layout_height="success"> 

      <ListView android:id="@+id/listView" 
         android:layout_height="match_parent" 
         android:layout_width="match_parent"/> 

        List<Map<String>> planetsList = new ArrayList<Map<String,String>>() /> 

         private void initList() { 
          //we populate them Planets 

          planetsList.add(createPlanet("planet", "Mercury")); 
          planetsList.add(createPlanet("planet", "Venus")); 
          planetsList.add(createPlanet("planet", "Earth")); 
          planetsList.add(createPlanet("planet", "Mars")); 
          planetsList.add(createPlanet("planet", "Jupiter")); 
          planetsList.add(createPlanet("planet", "Saturn")); 
          planetsList.add(createPlanet("planet", "Uranus")); 
          planetsList.add(createPlanet("planet", "Neptune")); 
         } 

         private HashMap<String, String> createPlanet(String key, String name) { 
          HashMap<String, String> planet = new HashMap<String, String>(); 
          planet.put(key, name); 

          return planet; 
         } 

         // This is a simple adapter that accepts as parameter 
         // Context 
         // Data List 
         // The row layout that is used during the row creation 
         // The keys used to retrieve the data 
         // The View id used to show the data. The number and the view must match 
         simpleAdpt = new SimpleAdapter(this, planetsList, android.R.layout.simple_list_item_1, new String [] 
         {"planet"}, new int[] {android.R.id.text1}); 

        </ListView> 

+1

단지 11 줄의 XML 만 보입니다. 13 번줄은 어디에 있습니까? 아니면 정말로 xml 파일에 프로그램 코드를 작성 했습니까? – Henry

+2

XML 파일에 Java 코드를 넣을 수 없습니다. – EvZ

+0

예. 했어요 ... 미안 해요, 전 완전 newb입니다. 말해 주셔서 감사합니다. – Marius

답변

2

activity_main.xml에도 Java 코드를 혼합 했습니까? 당신의 activity_main.xml은 다음 코드를 포함해야하기 때문에 :

<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" > 

<ListView android:id="@+id/listView" 
      android:layout_height="match_parent" 
      android:layout_width="match_parent"/> 

</RelativeLayout> 

그리고 MainActivity.java는 다음과 같은 코드를 포함해야합니다

List<Map<String, String>> planetsList = new ArrayList<Map<String,String>>(); 

private void initList() { 

planetsList.add(createPlanet("planet", "Mercury")); 
planetsList.add(createPlanet("planet", "Venus")); 
planetsList.add(createPlanet("planet", "Mars")); 
planetsList.add(createPlanet("planet", "Jupiter")); 
planetsList.add(createPlanet("planet", "Saturn")); 
planetsList.add(createPlanet("planet", "Uranus")); 
planetsList.add(createPlanet("planet", "Neptune")); 

} 

private HashMap<String, String> createPlanet(String key, String name) { 
HashMap<String, String> planet = new HashMap<String, String>(); 
planet.put(key, name); 

return planet; 
} 

난 그냥 당신이 가지고있는 링크에서 여기에 코드를 복사 한을 제공됩니다.

0

에 자습서를 다음 있어요 당신이 당신의 XML 파일 내부에 자바 코드를 삽입 할 수없는 XML에서 JavaCode를 제거하고 별도의 자바 파일에 넣어.

0

Java 코드를 XML 파일에 넣고 있습니까? Java 코드는 클래스 파일에 포함됩니다.

은 튜토리얼에 따르면, 그들은 당신이라는 XML 파일을 만들려면 내용

<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" > 

    <ListView android:id="@+id/listView" 
       android:layout_height="match_parent" 
       android:layout_width="match_parent"/> 

</RelativeLayout> 

그리고에는 별도로, 내용으로 MainActivity.java

라는 자바 클래스 activity_main.xml

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     // .... 
    } 
//... 
} 
0

게시 된 링크에서 source

은 XML 태그 내부에 Javacode를 제거

그리고

나는

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:mynamespace="http://schemas.android.com/apk/res/com.Learning.learning" 
      xmlns:tools="http://schemas.android.com/tools" 
      mynamespace:layout_width="success" 
      mynamespace:orientation="vertical" 
      mynamespace:layout_height="success"> 

      <ListView android:id="@+id/listView" 
         android:layout_height="match_parent" 
         android:layout_width="match_parent" /> 
</RelativeLayout>           ^Listview tag closed here 

등의 변화가 </ListView> 태그를 제거 생각합니다. 이미 12 번째 줄에 문을 닫았으므로

0

XML 파일에 자바 코드가 포함되었습니다. Android는 레이아웃 및 리소스 정의에만 XML 파일을 사용합니다. 데이터 푸딩, 조작 및 기타 처리를위한 코드는 Java 소스 파일에서 수행해야합니다. 예를 들어 MainActivity.java 파일 내에서 목록을 채울 수 있습니다.

0

XML 파일에 프로그램 코드를 쓸 수 없습니다. 그것이 오류가있는 이유입니다. XML Layout

관련 문제