2015-08-04 2 views
-1

Я относительно новый кодер Android и после написания этого небольшого кода, который просто просит пользователя ввести и отправить сообщение и отобразить его позже. После того, как я нажму кнопку «Отправить» после ввода сообщения, появится «К сожалению, приложение остановилось».К сожалению мое приложение прекратило ошибку

package com.example.dm4.myapplication; 

    import android.app.Activity; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.view.MenuItem; 
    import android.view.View; 
    import android.widget.EditText; 

    public class MainActivity extends Activity { 

    public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE"; 

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

    public void sendMessage(View view) { 
     Intent intent = new Intent(this, DisplayMessageActivity.class); 
     EditText editText = (EditText) findViewById(R.id.edit_message); 
     String message = editText.getText().toString(); 
     intent.putExtra(EXTRA_MESSAGE, message); 
     startActivity(intent); 
    } 


    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle presses on the action bar items 
     switch (item.getItemId()) { 
      case R.id.action_search: 
       // openSearch(); 
       return true; 
      case R.id.action_settings: 
       //openSettings(); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 
    } 
} 

Это ошибка в файле журнала после нажатия кнопки «Отправить».

Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 
      at android.support.v7.app.AppCompatDelegateImplBase.onCreate(AppCompatDelegateImplBase.java:122) 
      at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:146) 
      at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:59) 
      at com.example.dm4.myapplication.DisplayMessageActivity.onCreate(DisplayMessageActivity.java:15) 
      at android.app.Activity.performCreate(Activity.java:6010) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1129) 
+0

, где находится ваша кнопка –

+0

Вам необходимо опубликовать stacktrace. Проблема, скорее всего, в классе 'DisplayMessageActivity' – codeMagic

+1

@KenKwok выглядит как начальное приложение в документах, поэтому кнопка, скорее всего, находится в xml, а' onClick' также устанавливается в xml. – codeMagic

ответ

0

Создать новую тему в вашем style.xml

<style name="ActionbarTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar"> 

     <!-- API 14 theme customizations can go here. --> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 
    </style> 

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
     <item name="android:background">@color/ColorPrimary</item> 
     <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
     <item name="android:icon">@android:color/transparent</item> 
    </style> 

Теперь установить темы для вашей деятельности,

<activity 
      android:name="MainActivity" 
      android:theme="@style/ActionbarTheme" > 
</activity> 
0

Вы можете сделать это так:

Ваше приложение тег Манифест должен выглядеть следующим образом:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.DeviceDefault" > 

Надеюсь, это вам подойдет.

Смежные вопросы