这可能真的很长,我很遗憾那个读完这一切的可怜的灵魂.
目标:我想创建一个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];
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误, 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);
};
}
Run Code Online (Sandbox Code Playgroud)
在这个文件上,我收到一个错误.setContentView(R.layout.pokemon_stats);这是错误pokemon_stats cannot be resolved or is not a field
我的string.xml文件看起来像(这是设置口袋妖怪的地方以及统计数据.我在下面做了第一个口袋妖怪.)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Pokemon Pokedex</string>
<string name="app_name">Pokedex</string>
<string-array name="pokemon_titles">
<item>#001 - Bulbasaur</item>
</string-array>
<string-array name="pokemon_stats">
<item>Grass Type</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
我的main.xml看起来像
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我的list_item.xml看起来像
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="24dp"
android:padding="6dp" />
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助,谢谢你,如果你做到这一点:)
编辑:更新并添加了我得到的确切错误.
对于您的错误,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);
};
Run Code Online (Sandbox Code Playgroud)
编辑:在你的其他错误的顶部,一个有视图,你忘了导入android.view.View; 加上这个.您可以保留原始代码.
import android.view.View;
Run Code Online (Sandbox Code Playgroud)
那应该是它,真的.
| 归档时间: |
|
| 查看次数: |
2456 次 |
| 最近记录: |