亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這里為啥要用nit()方法寫按鈕的findViewById,而不是寫進OnCreate方法里面??

package com.example.progressbar1015;


import android.app.Activity;

import android.os.Bundle;

import android.os.Process;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.Window;

import android.widget.Button;

import android.widget.ProgressBar;

import android.widget.TextView;


public class MainActivity extends Activity implements OnClickListener {

private Button add;

private Button reduce;

private Button reset;

private TextView textView;

private ProgressBar progress;


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);


// 啟用窗口特征,啟用帶進度和不帶進度的進度條

requestWindowFeature(Window.FEATURE_PROGRESS);

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

setContentView(R.layout.main);

// 顯示兩種進度條

setProgressBarVisibility(true);


setProgressBarIndeterminate(false);


// 進度Max=10000;

setProgress(999);// 設置進度條的當前進度。


}


private void init() {

progress = (ProgressBar) findViewById(R.id.horiz);

add = (Button) findViewById(R.id.add);

reduce = (Button) findViewById(R.id.reduce);

reset = (Button) findViewById(R.id.reset);

textView = (TextView) findViewById(R.id.textView);


int first = progress.getProgress();

int second = progress.getSecondaryProgress();

// 獲取進度條的最大長度

int max = progress.getMax();


textView.setText("第一進度條百分比:" + (int) (first / (float) max * 100) + "%"

+ " ? ? " + " ? ? ? " + "第二進度條百分比:"

+ (int) (second / (float) max * 100) + "%");

add.setOnClickListener(this);

reduce.setOnClickListener(this);

reset.setOnClickListener(this);


}


@Override

public void onClick(View v) {

// TODO Auto-generated method stub


switch (v.getId()) {

case R.id.add: {

progress.incrementProgressBy(10);

progress.incrementSecondaryProgressBy(10);


break;


}

case R.id.reduce: {

progress.incrementProgressBy(-10);

progress.incrementSecondaryProgressBy(-10);

break;


}

case R.id.reset: {

progress.setProgress(50);

progress.setSecondaryProgress(80);


}


}

textView.setText("第一進度條百分比:"

+ (int) (progress.getProgress() / (float) progress.getMax() * 100)

+ "%"

+ " ? ? "

+ " ? ? ? "

+ "第二進度條百分比:"

+ (int) (progress.getSecondaryProgress()

/ (float) progress.getMax() * 100) + "%");


}


}


正在回答

3 回答

寫成方法的形式,增加代碼的復用性, 也可以寫在onCreate() 方法,這樣寫就感覺代碼太臃腫。

1 回復 有任何疑惑可以回復我~
#1

神不在的二月 提問者

非常感謝!
2016-10-17 回復 有任何疑惑可以回復我~

主要是為了好看哦,另外也可以多次使用

0 回復 有任何疑惑可以回復我~

你這段代碼有問題呀,你在onCreate()方法中沒有調用init()方法,不會執行init里面的初始化操作的。

在外部寫init方法主要是為了使代碼整潔更好維護。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第1季)
  • 參與學習       111145    人
  • 解答問題       1560    個

本課程由淺入深地帶您學會Android的常用控件的開發和使用

進入課程

這里為啥要用nit()方法寫按鈕的findViewById,而不是寫進OnCreate方法里面??

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號