2013-01-13 60 views
0

請問,我一直試圖添加ListView到android應用程序正在開發,但它總是開始,然後崩潰時,我添加ListView。我需要幫助。我嘗試了谷歌尋求幫助,但沒有發現。我不知道爲什麼它不工作。下面是我MainActivity.javaListView崩潰應用程序

public class MainActivity extends FragmentActivity { 
    private GoogleMap maap; 
    static final String[] OptionS = new String[]{"for 1","for 2","for 3","for 4"}; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 


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

    listView.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
           int position, long id) { 
     // When clicked, show a toast with the TextView text 
     Toast.makeText(getApplicationContext(), 
         ((TextView) view).getText(), Toast.LENGTH_SHORT).show(); 
     } 
    }); 

    setContentView(R.layout.activity_main); 
    getActionBar().setDisplayHomeAsUpEnabled(true); 
    GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); 
    maap = ((SupportMapFragment)  getSupportFragmentManager().findFragmentById(R.id.map)) 
     .getMap(); 
    maap.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
    maap.getUiSettings().setMyLocationButtonEnabled(true); 
    maap.getUiSettings().setAllGesturesEnabled(true); 
    CameraPosition Position =new CameraPosition.Builder() 
     .target(new LatLng(33.53,10.08)) 
     .zoom(7.2f) 
     .tilt(40) 
     .build(); 

    CameraUpdate Update = CameraUpdateFactory.newCameraPosition(Position); 
    maap.moveCamera(Update); 
    maap.addMarker(new MarkerOptions() 
        .position(new LatLng(33.53,10.08)) 
        .title("TEST") 
        .draggable(true) 
        .snippet("is good")); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    return true; 
    } 


    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.item1: 
     startActivity(new Intent(this, ActivityMenus.class)); 
     case R.id.item2: 
     startActivity(new Intent(this, ActivityMenus.class)); 
     case R.id.item3: 
     startActivity(new Intent(this, ActivityMenus.class)); 
     case R.id.item4: 
     startActivity(new Intent(this, ActivityMenus.class)); 
    } 
    return true; 
    } 
} 
+1

你和我們需要一個logcat來知道確切的錯誤並解決它。 – Snicolas

回答

2

嘗試使用findViewById()前必須先調用setContentView()

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); // Move me here 

    ListView listView= (ListView) findViewById(R.id.listView1); 
    // etc 
+0

非常感謝!你救了我!! – uchman21

+0

不客氣,請點擊複選標記接受此答案作爲解決方案。 (下次請在您的問題中發佈LogCat錯誤,我們可能無法每次都猜出該解決方案...) – Sam