0

私はまだそのチュートリアルに取り組んでいますが、うまくいきません。エラーは38行目で発生しますlv.setAdapter(simpleAdpt);

MainActivity.java 全体を以下に示します。誰かがこのエラーを修正し、なぜそれが発生したのか教えてくれれば、私はついにアプリを実行することができました. 38 行目にコメントを付けてアプリをテストしましたが、起動後にアプリがクラッシュしました。助けてくれてありがとう。私はまだ非常に初心者です。

package com.example.lern;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.support.v4.app.Fragment;
import android.app.Activity;
import android.os.Bundle;
import android.widget.SimpleAdapter;

public class MainActivity extends Activity {

//Data to Show
    List<Map<String, String>> planetsList = new ArrayList<Map<String,String>>();

        @SuppressWarnings("unused")
        private void initList() {
        // Populating 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"));

    }

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Object lv;
    lv.setAdapter(simpleAdpt);
}

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
//The keys are used to retrieve the data
//the View id is Used to show the data. The <key number and the view id must match
SimpleAdapter simpleAdpt = new SimpleAdapter(this, planetsList, android.R.layout.simple_list_item_1, new String[]
{"planet"}, new int[] {android.R.id.text1});

}

4

1 に答える 1

0

setAdapter() メソッドは a のメソッドでありListView、型に対して未定義ですObject

Object lv;
lv.setAdapter(simpleAdpt);

チュートリアルにきちんと従う..

ListView lv = (ListView) findViewById(R.id.listView);

simpleAdpt = new SimpleAdapter(this, planetsList, android.R.layout.simple_list_item_1, new String[] {"planet"}, new int[] {android.R.id.text1});

lv.setAdapter(simpleAdpt);
于 2013-11-01T12:37:44.173 に答える