这可能真的很长,我很遗憾那个读完这一切的可怜的灵魂.
目标:我想创建一个Pokemon Pokedex应用程序(是的,我知道非常幼稚).我认为这对于第一个构建应用程序非常有用,因为有大量数据需要处理.对于那些不熟悉口袋妖怪的人来说,它基本上是#001 - #649列表中的生物.我想在列表中显示所有生物并让用户点击该生物.点击该生物后,它将在不同的屏幕上显示有关它的统计数据.
好的回到编程......
package com.pokemon.pokdex; import android.app.ListActivity; import android.os.Bundle; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; public class PokedexActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(), R.array.pokemon_titles, R.layout.list_item)); final String[] links = getResources().getStringArray(R.array.pokemon_stats); getListView().setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { String content = links[position]; } }); } }
我得到的错误, getListView().setOnItemClickListener(new OnItemClickListener() {
哪里是说OnItemClickListener()
和View view
.它说The type new AdapterView.OnItemClickListener(){} must implement the inherited abstract method AdapterView.OnItemClickListener.onItemClick(AdapterView>, View, int, long)
for OnItemClickListener()
和View无法解析为一个类型View view,
package com.pokemon.pokdex; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.webkit.WebView; import android.widget.ArrayAdapter; public class PokedexViewActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.pokemon_stats); }; }
在这个文件上,我收到一个错误.setContentView(R.layout.pokemon_stats);
这是错误pokemon_stats cannot be resolved or is not a field
我的string.xml文件看起来像(这是设置口袋妖怪的地方以及统计数据.我在下面做了第一个口袋妖怪.)
Pokemon Pokedex Pokedex - #001 - Bulbasaur
- Grass Type
我的main.xml看起来像
我的list_item.xml看起来像
感谢任何帮助,谢谢你,如果你做到这一点:)
编辑:更新并添加了我得到的确切错误.
对于您的错误,setContentView(R.layout.pokemon_stats);
pokemon_stats不是布局.main.xml是你的布局.pokemon_stats是一个字符串数组,这是你的问题.没有名为pokemon_stats.xml的布局,我想你想要R.layout.main
.
另外,为什么在这之后你有一个分号}
?
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.pokemon_stats); };
编辑:在你的其他错误的顶部,一个有视图,你忘了导入android.view.View; 加上这个.您可以保留原始代码.
import android.view.View;
那应该是它,真的.