2016-09-14 67 views
-1

所以我對Android工作室非常新。我通常只是看教程,並隨時瞭解什麼是一切,看看一切如何運作。我正在嘗試使用collapsilbe工具欄按照教程查看卡片視圖/回收站視圖,並在完成代碼(幾乎與視頻中顯示的人物一樣)後,該應用程序仍然無法運行。唯一改變的是圖標,幾個drawable和一些值(我在代碼中編輯了它)。沒有錯誤的Android工作室,應用程序仍然崩潰開放

這裏的源代碼,我跟着一職:https://github.com/delaroy/AndroidCardView?files=1

正如我所說的,沒有錯誤或任何東西。但是當我運行該應用程序時,它立即崩潰。

這也是我的第一篇文章,所以如果需要其他信息,請告訴我。

正如我所說,我只改變了圖片和幾個變量名稱等。此外,所有已更改的內容都是固定的值等。

我已經在手機上運行了其他應用程序,沒有任何問題。

不知道這是一個電話問題還是什麼。

我正在使用運行Android 5.0的Note 3。

+1

你真的應該讀作[問]你張貼問題之前。這個問題幾乎可以肯定會關閉,因爲你沒有發佈任何源代碼,也沒有顯示你得到的錯誤信息。 – Tibrogargan

+0

我發佈的GitHub頁面基本上是我正在使用的確切代碼。正如我所說,我改變的唯一的一些變量名稱和一些drawable。此外,我得到的錯誤(正如我再次說)不存在。我沒有收到錯誤。試圖打開時,應用程序崩潰。這只是一個「不幸的是,___已經關閉」。 – Xxero

+0

你改變了一些破壞代碼的東西,並期望人們隨機猜測你是做什麼的? – Tibrogargan

回答

0

您必須檢查日誌以查看導致崩潰的異常情況。在日誌中(IDE的下半部分),將會有Exception的名稱,它啓動它的元素,並且還會有指向發現問題的代碼行的鏈接。

如果仍然無法以這種方式找到錯誤,則可以在調試時希望應用程序停止的代碼行左側設置斷點,然後在調試模式下運行應用程序以準確查看發生。

另一個提示:當我確定代碼的正確性並且它運行但崩潰時,通常是聲明清單(或所有服務)中的所有活動並設置了所有必需的權限。因爲在這種情況下,在運行應用程序之前沒有明顯的錯誤。讓我們知道!

+0

E/AndroidRuntime:致命異常:主要 進程:com.xxerosec.fldoccs,PID:10093 java.lang.RuntimeException:無法啓動活動ComponentInfo {com.xxerosec.fldoccs/com.xxerosec.fldoccs.MainActivity}:java.lang.IllegalStateException:此活動已經有一個由窗口裝飾提供的操作欄。請勿在您的主題中請求Window.FEATURE_SUPPORT_ACTION_BAR並將windowActionBar設置爲false以代替使用工具欄。 這就是我所看到的。 – Xxero

+0

打開主活動時,我也是剛得到這個: 渲染問題下面的類不能被實例化: - android.support.design.widget.CollapsingToolbarLayout(公開課,顯示異常,清除緩存) 提示:使用瀏覽.isInEditMode()在您的自定義視圖中跳過代碼或在IDE中顯示時顯示示例數據異常詳細信息android.content.resourcesResources $ NotFoundException at com.android.layoutlib.bridge.android.BridgeContext.obtainStyledAttributes(BridgeContext.java: 626)將堆棧複製到剪貼板 – Xxero

+0

好的,因爲我可以看到它可能是關於您的操作欄。好的是Android Studio建議如何解決問題。它告訴你改用一個工具欄。現在我發佈另一個有關它的信息的答案。 –

0

好吧,它可能是關於工具欄,讓我們看看它是如何工作的。

在Android是更好地使用控件工具,而不是動作條,因爲......

要做到這一點,你必須添加(如果沒有)的appcompact V7庫搖籃(模塊:應用程序),就這樣:

dependecies { compile 'com.android.support:appcompat-v7:+' } 

要刪除操作欄,並插入一個工具欄,你必須:

1. remove actionbar from manifest setting a no actionbar style: 
    <application 
      android:theme="@style/Theme.AppCompact.Light.NoActionBar" 
     /> 

2. insert Toolbar widget into the layout of the activity: 
    <LinearLayout ...> 
      ... 
      <android.support.v7.widget.Toolbar 
       android:id="@+id/mytoolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       android:elevation="8dp" 
       android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
       android:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 

      </LinearLayout> 

3. insert the widget into the activity and set it as support toolbar: 
     @Override 
    protected void onCreate(Bundle savedInstanceState){ 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      Toolbar myToolbar = (Toolbar) findViewById(R.id.mytoolbar); 
      myToolbar.setLogo(R.mipmap.ic_launcher); 
      myToolbar.setTitle("Titolo"); 
      myToolbar.setSubtitle(R.string.sottotitolo); 
      setSupportActionBar(myToolbar); 
    } 

4. create a menù for the Toolbar, into res>menu 
<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/new_game" 
     android:icon="@drawable/ic_new_game" 
     android:title="@string/new_game" 
     android:showAsAction="ifRoom"/> 
    <item android:id="@+id/help" 
     android:icon="@drawable/ic_help" 
     android:title="@string/help" 
     android:showAsAction="never"/> 
    <item android:id="@+id/tutorials" 
     android:icon="@drawable/ic_tuts" 
     android:title="@string/tutorials" 
       android:showAsAction="always"/> 
    </menu> 

5. bind menù to toolbar through the two methods into the activity: 


@Override 
public boolean onCreateOptionsMenu(Menu menu){ 
    //Inflate the menu; this adds items to the action bar if it is present 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
     case R.id.new_game: 
      newGame(); 
      return true; 
     case R.id.help: 
      showHelp(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 
相關問題