解析XML时出错:未找到元素。它不会生成R.java,因为它
我得到一个解析错误,我不知道为什么(我是编程新手)。由于这个错误,R.java消失了,我最终有更多的错误。希望有人能帮助我。这里就是错误来自:list.xml解析XML时出错:未找到元素。它不会生成R.java,因为它
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<ListView android:id="@+id/ListView01" android:layout_height="wrap_content"
android:layout_width="fill_parent">
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10px" android:textColor="#0099CC"></TextView>
</ListView>
</LinearLayout>
,这里是其中的XML文件名为:list.java
package com.aha;
import java.util.HashMap;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.SimpleAdapter;
import android.widget.SimpleAdapter.ViewBinder;
import android.widget.Adapter;
import android.widget.BaseAdapter;
public class list extends ListActivity {
private HashMap<String, Class<?>> yourMap;
@Override
public void onCreate(Bundle b) {
yourMap = new HashMap<String, Class<?>>();
yourMap.put("Matches", matches.class);
yourMap.put("Economy", finances.class);
}
public void onCreate1(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] menu = getResources().getStringArray(R.array.menu_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list, menu));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public <View> void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Object o = this.getListAdapter().getItem(position);
String keyword = o.toString();
Intent intent = new Intent(this, yourMap.get(keyword));
startActivity(intent);
}
});
}
}
也是在这行我得到一个错误说我必须实现一个抽象的方法:
lv.setOnItemClickListener(new OnItemClickListener() {
我只是想知道这是什么意思,不一定是一个解决方案。希望我能自己找出一个。解析错误我已经有一两天了,无法单独解决。
感谢所有帮助
什么是您所使用的编辑器?
从我的经验,解析在Eclipse问题被下一个
- 您的视图名称之一是造成骆驼情况*不要使用使用NO CAPSLOCK *
- R档是不是“刷新”,因此新的元素不会出现
尝试
- 用小写字母编写* .xml(在视图文件夹中)。
- 干净所有的项目,然后建立
- 也许你没有申报的项目适当notice for this table for the SDK version
请告知我要实际ERR(写在控制台)为进一步帮助。
ListView应该没有子元素,请改用适配器。
我使用了一个适配器,但是我收到了错误信息。这里是错误: 类型new AdapterView.OnItemClickListener(){}必须实现继承的抽象方法AdapterView.OnItemClickListener.onItemClick(AdapterView >,View,int,long)。我不知道这是什么意思 – Robby 2010-11-21 16:10:14
添加一个方法到'onItemClick'(AdapterView >,View,int,long)' – Pentium10 2010-11-21 17:12:11
我需要将任何东西放入方法中,还是可以放在方法中代码但实际上没有做任何事情? – Robby 2010-11-21 17:38:11
我有一个类似的问题,事实证明,因为Eclipse添加了“import android.R;” (如果您倾向于使用Ctrl-Shift-O导入文件,这可能会发生)隐藏在R.java中的.java文件隐藏声明中。 删除此导入行后,再次按预期查看R.java。
采取以下步骤:
- 保存并关闭.XML
- 删除.out.xml和/或在菜单.out.out.xml
- 单击项目并选择清洗.. 。
- 为“下面选择清洁工程”为您的项目
- 点击复选框,选择单选按钮,然后单击确定
- 运行程序。
你的问题似乎是在布局文件本身,
已添加TextView
在布局文件中ListView
标签内。只需将ListView移出TextView。
您的布局文件应该是这样的,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<ListView android:id="@+id/ListView01" android:layout_height="wrap_content"
android:layout_width="fill_parent">
</ListView>
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10px" android:textColor="#0099CC"></TextView>
</LinearLayout>
我使用日食。所以我的listview的id不应该是ListView01,而是listview01? – Robby 2010-11-21 15:45:19
错误来自问题控制台:解析XML时出错:格式错误(无效令牌)\t main.xml Android AAPT问题 – Robby 2010-11-21 16:11:20