2015-04-26 85 views
0

我在我的一個應用程序的活動中設置了一個工具欄,但每次嘗試去所述活動時都會崩潰。也許我錯過了什麼?有人可以幫我解決這個問題嗎?之前沒有使用過工具欄,所以還是有點困惑。安卓工具欄無法正常工作

這裏的活動代碼:

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.ListAdapter; 
import android.widget.ListView; 
import android.widget.TextView; 

public class ProjectCreateScreen extends ActionBarActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.secondary_layout1); 


    Toolbar toolbar = (Toolbar) findViewById(R.id.AwesomeBar); 
    setSupportActionBar(toolbar); 
    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { 
     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      // Handle the menu item 
      return true; 
     } 
    }); 
    toolbar.inflateMenu(R.menu.menu_main); 


    final TextView noProject = (TextView) findViewById(R.id.NOPROJECT); 
    Button btn = (Button) findViewById(R.id.addBtn); 

    final ArrayList<String> listItems=new ArrayList<String>(); 
    final ListAdapter addAdapter = new ArrayAdapter<String>(this, 
      R.layout.list_item, R.id.listFrame, listItems); 
    final ListView lv = (ListView) findViewById(R.id.lv); 
    lv.setAdapter(addAdapter); 

    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      noProject.setVisibility(View.GONE); 
      lv.setVisibility(View.VISIBLE); 
      listItems.add("New Project"); 
      ((ArrayAdapter) addAdapter).notifyDataSetChanged(); 
     } 
    }); 
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      Intent switchToEdit = new Intent(ProjectCreateScreen.this, 
        teamCreateScreen.class); 
      startActivity(switchToEdit); 
     } 
    }); 
} 

而且活動使用的XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/rl"> 

<android.widget.Toolbar 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:minHeight="60dp" 
    android:id="@+id/AwesomeBar" 
    android:background="@android:color/white"> 
    </android.widget.Toolbar> 

<Button 
    android:layout_width="60dp" 
    android:layout_height="60dp" 
    android:id="@+id/addBtn" 
    android:layout_below="@+id/AwesomeBar" 
    android:background="@drawable/add_greyslate"/> 

<TextView 
    android:layout_width="200dp" 
    android:layout_height="wrap_content" 
    android:text="@string/noProjectsNotice" 
    android:id="@+id/NOPROJECT" 
    android:gravity="center" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" 
    android:textSize="16sp"/> 

<ListView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/addBtn" 
    android:id="@+id/lv" 
    android:visibility="invisible"> 
</ListView> 

</RelativeLayout> 
+1

發表你的logcat – issathink

+0

沒有關於logcat,它只是說應用程序停止工作 – Richard

回答

3

在你的XML文件替換:

<android.widget.Toolbar 

有:

<android.support.v7.widget.Toolbar 

因爲在你的代碼中你指的是支持版本。

+0

非常感謝,解決了它,雖然當第一次設置工具欄我沒有在下拉菜單中看到support.v7版本菜單。將它與ActionBar交換也是一個好主意?我覺得管理更容易 – Richard

+0

@Richard沒有深入細節 - 如果你需要更多的控制你的'ActionBar''''工具欄'派上用場。 – questioner

+0

知道了,謝謝! :) – Richard