2016-03-30 17 views
-1

kilitleniyor Bu bir kaydırma etkinliği oluşturdum ancak uygulamayı açıp etkinliği etkinleştirmek için düğmeye tıkladığımda bir hata alıyorum. Temel olarak, tüm uygulamayı çöker. Ancak, aşağıda benim kodum.Android Uygulaması - düğmesi etkinliğini açıyor ama

Boş bir etkinlik değil, etkinlik kaydırma yaptığı için mi?

news.java

package com.example.it5.foothillers; 

import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 

public class news extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_news); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 
     }); 
    } 
} 

main_acitivity.java

package com.example.it5.foothillers; 

import android.app.Activity; 
import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class MainActivity extends AppCompatActivity implements View.OnClickListener 
{ 

    Button button; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
      button = (Button)findViewById(R.id.button); 
      button.setOnClickListener(this); 

    } 

    private void buttonClick() { 
     startActivity(new Intent("it5.foothillers.news")); 
    } 

    @Override 
    public void onClick(View v) { 
     switch (v.getId()){ 
      case R.id.button: 
       buttonClick(); 
       break; 

     } 

    } 

} 

Bildirim

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.it5.foothillers"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 

     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity android:name=".news"> 
      <intent-filter> 
       <action android:name="it5.foothillers.news" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

    </application> 

</manifest> 

hatası:

03-30 12:01:49.871 2122-2122/com.example.it5.foothillers E/AndroidRuntime: FATAL EXCEPTION: main 
Process: com.example.it5.foothillers, PID: 2122 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.it5.foothillers/com.example.it5.foothillers.news}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead. 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
    at android.app.ActivityThread.access$800(ActivityThread.java:151) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5254) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead. 
    at android.support.v7.app.AppCompatDelegateImplV7.setSupportActionBar(AppCompatDelegateImplV7.java:197) 
    at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:129) 
    at com.example.it5.foothillers.news.onCreate(news.java:17) 
    at android.app.Activity.performCreate(Activity.java:5990) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)  
    at android.app.ActivityThread.access$800(ActivityThread.java:151)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:135)  
    at android.app.ActivityThread.main(ActivityThread.java:5254)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at java.lang.reflect.Method.invoke(Method.java:372)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

cevap

0

This Activity already has an action bar supplied by the window decor.

İstisna mesajı açıkça zaten etkinlik'ın tema parçası olarak bir Toolbar olduğu konusunda sizi anlatıyor.

setSupportActionBar numaralı telefonu aramak istiyorsanız, bu gibi bir temayı styles.xml dosyasında ayarlamanız gerekir.

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 

Muhtemelen de sadece bu iki satırı

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 

kaldırmak Ve aynı hatayı alıyorum, her ne kadar

ActionBar toolbar = getSupportActionBar(); 
+0

TEŞEKKÜR EDERİZ! Gerçekten işe yaradı !!!! – MartinNewAtCODE

-1

Bir etkinlik başlatmak için en kolay yolu, bu niyetiyle değiştirmektir:

startActivity(new Intent(MainActivity.this, news.class)); 

yığın izleme başka İşlem Çubuğu eklemek çalışıyorsanız gösterir ve zaten uygulamanın sağladığı vardı tema.

<activity android:name=".news" 
      android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="it5.foothillers.news" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

Ya da sadece (çünkü etkinlik kodu ve activity_news.xml gelen araç çubuğunu kaldırın:

Yani, böyle bir İşlem Çubuğu kullanmamaya tezahür üzerinde yout etkinlik bildirim sırasında temasını değiştirebilirsiniz siz) sonra kullanmadığınız:

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_news); 

     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 
     }); 
+0

Cevabınız için teşekkür ederiz ile yerini alabilir. – MartinNewAtCODE

0

Intent intent=new Intent(MainActivity.this,news.class); startActivity(intent);

Mainifest.xml

<activity android:name="com.example.it5.foothillers.news" ></activity>

+0

Bu hatayı alıyorum: Ne yazık ki, Foothillers uygulaması çalışmayı durdurdu. Ayrıca yukarıdan bakın, kodumu güncelledim. – MartinNewAtCODE

+0

Ayrıca manifesto değiştirdim ama işe yaramadı – MartinNewAtCODE

+0

LOW

İlgili konular