weixin_38019355
weixin_38019355
采纳率50%
2017-03-22 08:35 阅读 1.2k

开发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条回答 默认 最新

  • 已采纳
    qq_22875583 qq_22875583 2017-03-22 09:36

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

    点赞 1 评论 复制链接分享
  • fcwxin fcwxin 2017-03-22 09:26

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

    点赞 1 评论 复制链接分享
  • qq_27969037 Mr康 2017-03-22 09:36

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

    点赞 1 评论 复制链接分享
  • weixin_38019355 weixin_38019355 2017-03-22 09:39

    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);
    }
    

    }

    点赞 评论 复制链接分享

相关推荐