首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android初学 急求为何?该怎么解决

2012-04-07 
Android初学急求为何?package com.misoo.ex01import android.app.Activityimport android.content.Inten

Android初学 急求为何?
package com.misoo.ex01;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;

public class Ex01 extends Activity
{
private final int WC = LinearLayout.LayoutParams.WRAP_CONTENT;
private LinearLayout layout;
private int mColor = Color.YELLOW;
private LinearLayout.LayoutParams lParams;
static final int RG_REQUEST = 0;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) 
  {
  super.onCreate(savedInstanceState);
  layout = new LinearLayout(this);
  layout.setOrientation(LinearLayout.VERTICAL);
  lParams = new LinearLayout.LayoutParams(230, 140);
  DrawView drawView= new DrawView(this);
  layout.addView(drawView, lParams);
 
  Button button = new Button(this);
  button.setText("Change Color");
  button.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View arg0)
{
Intent intent = new Intent(Ex01.this, RgActivity.class);
startActivityForResult(intent, RG_REQUEST);
}
});
 
  lParams = new LinearLayout.LayoutParams(WC, WC);
  layout.addView(button, lParams);
 
  setContentView(layout);
  }
   
  public int getColor()
  {
  return mColor;
  }
   
  @Override
  protected void onActivityResult(int requestCode, 
  int resultCode, Intent data)
  {
  if (requestCode == RG_REQUEST)
  {
  if (resultCode == RESULT_CANCELED)
  {
  setTitle("Canceled...");
  }
  else if (resultCode == RESULT_OK)
  {
  String dataString = (String) data.getCharSequenceExtra("DataKey");
  setTitle(dataString);
  if (dataString.contains("Y"))
  {
  mColor = Color.YELLOW;
  }
  else
  {
mColor = Color.BLUE;
}
  }
  }
  }
}


package com.misoo.ex01;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;

public class RgActivity extends Activity implements OnCheckedChangeListener
{
private final int WC = RadioGroup.LayoutParams.WRAP_CONTENT;
private RadioGroup radioGroup;
RadioGroup.LayoutParams rParams;

@Override
public void onCreate(Bundle bundle)
{
super.onCreate(bundle);
radioGroup = new RadioGroup(this);
rParams = new RadioGroup.LayoutParams(WC, WC);
radioGroup.setOrientation(RadioGroup.VERTICAL);
radioGroup.setLayoutParams(rParams);
radioGroup.setOnCheckedChangeListener(this);

RadioButton radioButton = new RadioButton(this);
radioButton.setText("Yellow");
radioButton.setId(1001);
rParams = new RadioGroup.LayoutParams(WC, WC);
radioGroup.addView(radioButton, rParams);

RadioButton radioButton1 = new RadioButton(this);
radioButton1.setText("Blue");
radioButton1.setId(1002);


rParams = new RadioGroup.LayoutParams(WC, WC);
radioGroup.addView(radioButton1, rParams);

setContentView(radioGroup);
}

public void onCheckedChanged(RadioGroup arg0, int arg1)
{
String cc;
if (arg0.getCheckedRadioButtonId() == 1001)
{
cc = "Y";
}
else
{
cc = "B";
}
Bundle bundle = new Bundle();
bundle.putString("DataKey", cc);
Intent intent = new Intent();
intent.putExtras(bundle);
setResult(RESULT_OK, intent);
finish();
}
}


package com.misoo.ex01;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class DrawView extends View
{
  private Paint paint;
  private Context context;
  public DrawView (Context context)
{
super(context);
this.context = context;
paint = new Paint();
}
   
  @Override 
  protected void onDraw(Canvas canvas)
  {
  Ex01 ex01 = (Ex01) context;
  paint.setColor(ex01.getColor());
  canvas.drawRect(10, 10, 100, 100, paint);
  paint.setColor(Color.GREEN);
  paint.setStrokeWidth(4);
  paint.setStrokeCap(Paint.Cap.ROUND);
  canvas.drawLine(10, 55, 100, 55, paint);
  canvas.drawLine(55, 10, 55, 100, paint);
  paint.setColor(Color.RED);
  canvas.drawRect(50, 50 ,60, 60, paint);
  }
}

按照一本教材写的代码。运行后只出现如下界面,点changecolor出错。 Console没有报具体错误



[解决办法]
什么叫出错? 抛Exception Crash?
有问题记得看logcat 用Eclipse来Debug
贴一堆代码上来 我还真的没耐心看

热点排行