綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] 關於ImageView

[複製連結] 查看: 1030|回覆: 7|好評: 0
跳轉到指定樓層
樓主
名字真難取 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-12-3 22:31

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 名字真難取 於 2012-12-3 22:46 編輯

最近在練習寫一個BMI計算機,網路上範例也頗多的,所以想要自己稍微修改

網路上的有一個是由TextView、EditText和Buttom所組成的

但是我覺得太單調,所以想要加一個ImageView

當使用者計算出BMI值後,會跑出一張圖片,讓使用者知道自己的體型為何


以下附上程式碼

package com.project.android.bmi;

import java.text.DecimalFormat;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Bmi extends Activity {
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);

         //Listen for button clicks
         Button button = (Button)findViewById(R.id.submit);
         button.setOnClickListener(calcBMI);
     }

     private OnClickListener calcBMI = new OnClickListener()
     {
         public void onClick(View v)
         {
             DecimalFormat nf = new DecimalFormat("0.00");
             EditText fieldheight = (EditText)findViewById(R.id.height);
             EditText fieldweight = (EditText)findViewById(R.id.weight);
             double height = Double.parseDouble(fieldheight.getText().toString())/100;
             double weight = Double.parseDouble(fieldweight.getText().toString());
             double BMI = weight / (height * height);

             TextView result = (TextView)findViewById(R.id.result);
             result.setText("你的BMI是 "+nf.format(BMI));

             TextView fieldsuggest = (TextView)findViewById(R.id.suggest);
             if(BMI>25){
                 fieldsuggest.setText(R.string.advice_heavy);
                 
             }else if(BMI<20){
                 fieldsuggest.setText(R.string.advice_light);
             }else{
                 fieldsuggest.setText(R.string.advice_average);
             }
         }
     };
}

我執行後他有圖片,但是都固定同一張

我希望圖片能跟隨計算出來的BMI值做改變

還有,ImageView的初始值要怎麼設定成null

這邊程式碼就不知道該怎麼寫了(圖片已經丟進Drawable資料夾裡了)

麻煩前輩們教導小弟一下,感激不盡^^
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2012-12-4 09:14
一樣在 xml 中要定義 ImageView ,然後在 Activity 中....

  1. // 定義 ImageView
  2. ImageView resultImage = (ImageView )findViewById(R.id.result_image);

  3. // 切換圖片的方法
  4. resultImage.setImageResource(R.drawable.xxxxx);
複製代碼

評分

參與人數 1碎鑽 +1 幫助 +1 收起 理由
名字真難取 + 1 + 1 非常讚

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| 名字真難取 | 收聽TA | 只看該作者
發表於 2012-12-4 11:13
那請問一下,如果要設定圖片初始值為null  方法為何?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
ploglin | 收聽TA | 只看該作者
發表於 2012-12-4 11:21
不知道你為什麼要設定成 null

如果以變數來說

  1. // 只定義變數,沒有給值,那這個變數的值就是 null
  2. ImageView resultImage;
複製代碼

評分

參與人數 1碎鑽 +1 幫助 +1 收起 理由
名字真難取 + 1 + 1 非常讚

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| 名字真難取 | 收聽TA | 只看該作者
發表於 2012-12-4 11:29
ㄜ... 我只是要設定ImageView一開始為不可見而已(就是沒圖片)

謝謝^^
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
ploglin | 收聽TA | 只看該作者
發表於 2012-12-4 11:34
xml 中可以宣告
android:visibility="gone"
或是在 activity 中設定
resultImage.setVisibility(View.GONE);

點評

好的,我在試試看,謝謝^^  發表於 2012-12-4 12:01

評分

參與人數 1碎鑽 +1 幫助 +1 收起 理由
名字真難取 + 1 + 1 非常讚

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
 樓主| 名字真難取 | 收聽TA | 只看該作者
發表於 2012-12-11 10:42
版主,請問一下
ImageView resultImage = (ImageView )findViewById(R.id.result_image);

應該放在public裡還是要用時再放上去??
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
ploglin | 收聽TA | 只看該作者
發表於 2012-12-11 13:25
兩邊都可以,看你要怎麼使用而已。

點評

OK 會再多練習^^  發表於 2012-12-11 19:16
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則