为了账号安全,请及时绑定邮箱和手机立即绑定

Unfortunately,XXX has stopped.自己检查了一下没发现错误,求大神解答。

代码如下:

package com.example.android_gridview;

import android.support.v7.app.ActionBarActivity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.GridView;
import android.widget.SimpleAdapter;

public class MainActivity extends ActionBarActivity {

    private GridView gridView;
    private List<Map<String,Object>>datalist;
    private int[] icon={R.drawable.address_book,R.drawable.calendar,
            R.drawable.camera,R.drawable.clock,R.drawable.games_control,
            R.drawable.messenger,R.drawable.ringtone,R.drawable.settings,
            R.drawable.speech_balloon,R.drawable.weather,R.drawable.world,
            R.drawable.youtube};
    private String[] iconName={"电子书","日历","照相机","闹钟","游戏","短信","铃声","设置",
            "设置","通讯录","天气","浏览器","视频"};
    private SimpleAdapter adapter;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gridView=(GridView) findViewById(R.id.gridView);
        getData();
        adapter= new SimpleAdapter(this, getData(), R.layout.item, new String[]{"image","text"}, new int[]{R.id.image,R.id.text});
        gridView.setAdapter(adapter);
        datalist = new ArrayList<Map<String,Object>>();
    }
    private List<Map<String, Object>> getData() {
        for(int i=0;i<icon.length;i++){
            Map<String,Object>map=new HashMap<String, Object>();
            map.put("image", icon[i]);
            map.put("text", iconName[i]);
            datalist.add(map);
        }
    
        return datalist;
    }

08-01 22:33:00.270: D/AndroidRuntime(932): Shutting down VM
08-01 22:33:00.270: W/dalvikvm(932): threadid=1: thread exiting with uncaught exception (group=0x414c4700)
08-01 22:33:00.310: E/AndroidRuntime(932): FATAL EXCEPTION: main
08-01 22:33:00.310: E/AndroidRuntime(932): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android_gridview/com.example.android_gridview.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.os.Looper.loop(Looper.java:137)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.app.ActivityThread.main(ActivityThread.java:5103)
08-01 22:33:00.310: E/AndroidRuntime(932):     at java.lang.reflect.Method.invokeNative(Native Method)
08-01 22:33:00.310: E/AndroidRuntime(932):     at java.lang.reflect.Method.invoke(Method.java:525)
08-01 22:33:00.310: E/AndroidRuntime(932):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-01 22:33:00.310: E/AndroidRuntime(932):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-01 22:33:00.310: E/AndroidRuntime(932):     at dalvik.system.NativeStart.main(Native Method)
08-01 22:33:00.310: E/AndroidRuntime(932): Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:102)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
08-01 22:33:00.310: E/AndroidRuntime(932):     at com.example.android_gridview.MainActivity.onCreate(MainActivity.java:29)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.app.Activity.performCreate(Activity.java:5133)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
08-01 22:33:00.310: E/AndroidRuntime(932):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
08-01 22:33:00.310: E/AndroidRuntime(932):     ... 11 more


正在回答

2 回答

datalist这个应该在用之前就声明 啊,你都已经setAdapter了,再去声明datalist还有用吗??声明提前声明,还有就是你getData这个方法用了两次了,在实例化adapter之前的那个方法去掉就可以了

1 回复 有任何疑惑可以回复我~
#1

MissClover 提问者

哦哦是的呢~~~不过我改正之后还是stopped 。错误日志如下,新手求帮忙解答
2016-08-02 回复 有任何疑惑可以回复我~

你的activity的主题是非法的声明,大概原因可以是你继承了v7包下面的activity给你一个网址,你自己参考。

http://blog.csdn.net/lincyang/article/details/42673151

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111140    人
  • 解答问题       1560    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

Unfortunately,XXX has stopped.自己检查了一下没发现错误,求大神解答。

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号