onItemClick的问题

Mar*_*ham 2 android

这可能真的很长,我很遗憾那个读完这一切的可怜的灵魂.

目标:我想创建一个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)

感谢任何帮助,谢谢你,如果你做到这一点:)

编辑:更新并添加了我得到的确切错误.

Otr*_*tra 5

对于您的错误,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)

那应该是它,真的.