装备选择案例

运行图片如下
这里写图片描述
一.布局文件

二.装备文件

三.创建装备类

package select.itcast.cn.huichuan;

/**
* Created by wanglaoda on 15-8-2.
*/
import java.io.Serializable;

//实现序列化方便传递数据
public class ItemInfo implements Serializable{
private String name;
private int acctack;
private int life;
private int speed;
public ItemInfo(String name, int acctack, int life, int speed) {
this.name = name;
this.acctack = acctack;
this.life = life;
this.speed = speed;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAcctack() {
return acctack;
}
public void setAcctack(int acctack) {
this.acctack = acctack;
}
public int getLife() {
return life;
}
public void setLife(int life) {
this.life = life;
}
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public String toString() {
return ” [name=” + name + “, acctack=” + acctack + “, life=” + life + “, speed=” + speed + “]”;
}
}

四.创建shopActivity

package select.itcast.cn.huichuan;

/**
* Created by wanglaoda on 15-8-2.
*/
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class ShopActivity extends Activity implements OnClickListener {

private ItemInfo itemInfo;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_shop);
    itemInfo = new ItemInfo("金剑", 100, 20, 20);
    findViewById(R.id.rl).setOnClickListener(this);
    TextView mLifeTV = (TextView) findViewById(R.id.tv_life);
    TextView mNameTV = (TextView) findViewById(R.id.tv_name);
    TextView mSpeedTV = (TextView) findViewById(R.id.tv_speed);
    TextView mAttackTV = (TextView) findViewById(R.id.tv_attack);
    // TextView显示字符串,这里传入int值编译不会报错,运行会出错
    mLifeTV.setText("生命值+" + itemInfo.getLife());
    mNameTV.setText(itemInfo.getName() + "");
    mSpeedTV.setText("敏捷+" + itemInfo.getSpeed());
    mAttackTV.setText("攻击力+" + itemInfo.getAcctack());
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
        case R.id.rl:
            Intent intent = new Intent();
            intent.putExtra("equipment", itemInfo);
            setResult(1, intent);
            finish();
            break;
    }
}

}

五.用户界面编码

package select.itcast.cn.huichuan;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;

public class Main extends Activity {

private ProgressBar mProgressBar1;
private ProgressBar mProgressBar2;
private ProgressBar mProgressBar3;
private TextView mLifeTV;
private TextView mAttackTV;
private TextView mSpeedTV;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mLifeTV = (TextView) findViewById(R.id.tv_life_progress);
    mAttackTV = (TextView) findViewById(R.id.tv_attack_progress);
    mSpeedTV = (TextView) findViewById(R.id.tv_speed_progress);
    initProgress();                    //初始化进度条
}

private void initProgress() {
    mProgressBar1 = (ProgressBar) findViewById(R.id.progressBar1);
    mProgressBar2 = (ProgressBar) findViewById(R.id.progressBar2);
    mProgressBar3 = (ProgressBar) findViewById(R.id.progressBar3);
    mProgressBar1.setMax(1000);        //设置最大值1000
    mProgressBar2.setMax(1000);
    mProgressBar3.setMax(1000);
}

// 开启新的activity并且想获取他的返回值
public void click(View view) {
    Intent intent = new Intent(this, ShopActivity.class);
    startActivityForResult(intent, 1); // 返回请求结果,请求码为1
}

public void click2(View view) {
    Intent intent = new Intent(this, ShopActivity.class);
    startActivityForResult(intent, 1);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (data != null) {
        // 判断结果码是否等于1,等于1为主人添加装备,等于2为宝宝添加装备
        if (resultCode == 1) {
            if (requestCode == 1) {
                ItemInfo info= (ItemInfo) data.getSerializableExtra("equipment");
                //更新ProgressBar的值
                updateProgress(info);
            }
        }
    }
}
//更新ProgressBar的值
private void updateProgress(ItemInfo info) {
    int progress1 = mProgressBar1.getProgress();
    int progress2 = mProgressBar2.getProgress();
    int progress3 = mProgressBar3.getProgress();
    mProgressBar1.setProgress(progress1+info.getLife());
    mProgressBar2.setProgress(progress2+info.getAcctack());
    mProgressBar3.setProgress(progress3+info.getSpeed());
    mLifeTV.setText(mProgressBar1.getProgress()+"");
    mAttackTV.setText(mProgressBar2.getProgress() + "");
    mSpeedTV.setText(mProgressBar3.getProgress() + "");
}

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

}

“`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值