开发Android 模拟运行的时候停止运行

刚学习Android开发的小白 按照书上的代码敲完之后发现模拟运行的时候显示“停止运行” 没办法打开 目前代码没什么毛病 求大神能解答一下

这是clole

[2017-03-22 16:27:14 - ColorCard] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.colorcard/.ColorCardActivity }

[2017-03-22 16:27:14 - ColorCard] ActivityManager: Warning: Activity not started, its current task has been brought to the front

还有logcat
图片说明

4个回答

xml里面的组件内容和你声明的组件内容不一致导致的

weixin_38019355
weixin_38019355 请问 这个是怎么看出来的呢
3 年多之前 回复

你看一下,应该是你的布局中textview或者linearlayout有那个地方写错了

weixin_38019355
weixin_38019355 应该不会啊 布局中的控件都是直接拖出来的 并不是我手打的啊
3 年多之前 回复

你可以选择把你的代码贴出来

package com.example.colorcard;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class ColorCardActivity extends Activity {
//主界面三个tab选项卡(三个线性布局组件)
private LinearLayout sampleTab = null;
private LinearLayout searchTab = null;
private LinearLayout identifyTab = null;
private LinearLayout [] tabs;

//Tab选项卡对应的界面
private View sampleTabView=null;
private View searchTabView=null;
private View identifyTabView=null;
//选项卡下方的布局
private LinearLayout content=null;

//色卡数据列表
private ListsampleList=new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_color_card);
//初始化tab控件和tabs数组
sampleTab=(LinearLayout)findViewById(R.id.sampleTab);
searchTab=(LinearLayout)findViewById(R.id.searchTab);
identifyTab=(LinearLayout)findViewById(R.id.identifyTab);

    tabs=new  LinearLayout []{sampleTab,searchTab,identifyTab};
    LayoutInflater factory=LayoutInflater.from(this);
    sampleTabView=factory.inflate(R.layout.color_sample,null);
    searchTabView=factory.inflate(R.layout.color_search,null);
    identifyTabView=factory.inflate(R.layout.color_identify,null);
    //程序启动时默认显示色卡样例界面
    content=(LinearLayout)findViewById(R.id.content);
    content.addView(sampleTabView);
    sampleList.clear();
    //从资源中获得色卡数据,并按照“\n”切割成字符串数组,字符串数组的每个元素代表一个色卡信息
    String sampleColor=getResources().getString(R.string.sample_color_list);
    String [] ss =sampleColor.split("\n");
    //------------------------------------------------------------------------------------
    //解析色卡数据字符串,并转换成ColorSample对象保存
    //格式:[十六进制RGB][颜色名][所属类别]
    //------------------------------------------------------------------------------------
    String rgb,name,category;
    int i,j;
    for(String s:ss){
        rgb=name=category=null;
        if(s.trim().length()>0){
            //寻找十六进制RGB子串,在第一队[]中
            i=s.indexOf('[');
            j=s.indexOf(']');
            if(j>i&&i>=0){
                rgb=s.substring(i+1, j);
            }
            //寻找颜色名子串,在第二对[]中
            i=s.indexOf('[',j);
            j=s.indexOf(']', i);
            if(j>i&&i>=0){
                name=s.substring(i+1,j);
            }
            //寻找类别子串,在第三对[]中
            i=s.indexOf('[',j);
            j=s.indexOf(']', i);
            if(j>i&&i>=0){
                category=s.substring(i+1,j);
            }
            //保存有色卡
            if(rgb != null && name != null && category != null){
                sampleList.add(new ColorSample(rgb,name,category));
            }
        }
    }//end of for
    //获取设备像素密度,以便将逻辑像素dp转换成px物理像素
    final float scale=getResources().getDisplayMetrics().density;
    //清空sampleTable中的原有色卡控件
    TableLayout sampleTable=(TableLayout) sampleTabView.findViewById(R.id.sampleTable);
    sampleTable.removeAllViews();
    //动态添加色卡,,每一个色卡的属性与布局设计相一致
    for(final ColorSample samp:sampleList){
        //每一行上端有20dip留空(android:paddingTop="20dip")
        TableRow row=new TableRow(this);
        row.setPadding(0,(int)(20*scale+0.5f),0,0);
        //第0列(android:layout_height="80dip")
        View col00=new View(this);
        col00.setBackgroundColor(samp.val);
        col00.setMinimumHeight((int)(80*scale+0.5f));
        //第1列(android:gravity="center" android:Layout_height="80dip")
        TextView col01=new TextView(this);
        col01.setText(samp.name);
        col01.setGravity(Gravity.CENTER);
        col01.setHeight((int)(80*scale+0.5f));
        //将col00和col01加入TableRow组件
        row.addView(col00);
        row.addView(col01);
        //将TableRow放进TableLayout布局
        sampleTable.addView(row);
    }


    //添加事件
    //分别为三个tab添加单击事件,被单击代表该选项卡被选中
    sampleTab.setOnClickListener(new OnClickListener(){ 
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            setTabChecked(sampleTab);
            //清除content中的界面内容,加载当前被选中选项卡对应的界面
            content.removeAllViews();
            content.addView(sampleTabView);
            //加载资源文件定义的动画效果
            Animation animation=AnimationUtils.loadAnimation(ColorCardActivity.this,R.anim.myanim);

        }
    });
    searchTab.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            setTabChecked(searchTab);
            content.removeAllViews();
            content.addView(searchTabView);
        }
    });
    identifyTab.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            setTabChecked(searchTab);
            content.removeAllViews();
            content.addView(identifyTabView);
        }
    });
}


public void setTabChecked(LinearLayout tab) {
    // TODO Auto-generated method stub
    for(int i=0;i<3;i++){
        //      去除背景
        tabs[i].setBackgroundDrawable(null);
        TextView txt=(TextView) tabs[i].getChildAt(0);
        //将字体颜色设置成深绿色
        txt.setTextColor(getResources().getColor(R.color.green));   
    }
    tab.setBackgroundResource(R.drawable.tabselected);
    TextView txt=(TextView)sampleTab.getChildAt(0);         
    txt.setTextColor(getResources().getColor(R.color.white));
}


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

}

package com.example.colorcard;

import android.graphics.Color;

public class ColorSample {
public final String rgb;//颜色RGB串(格式:#FF00FF)
public final String name;//颜色名
public final String category;//所属类别
public final int val;//RGB颜色对应的整数值

public ColorSample(String rgb,String name,String category){
    this.rgb=rgb;
    this.name=name;
    this.category=category;
    //转换颜色RGB字符串为整数表示
    val =Color.parseColor(rgb);
}

}

qq_38490148
懋甯 请问你的问题解决了吗,我也是写这个代码,然后出现了返回空指针的错误
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问