0

/cacheAndroid デバイスのパーティションにスワップ領域を生成するアプリに取り組んでいます。スワップの最大サイズはすでに計算できますが、入力できる最大額は依然として静的です。

私はEditText InputFilterこれを使用します:

@Override
protected void onCreate(Bundle savedInstanceState) {  
    ... 
    final EditText mb = (EditText) findViewById(R.id.editText1);
    mb.setFilters(new InputFilter[]{ new InputFilterMinMax("1", "120")});
    ...
}

そして私のボイドはこれです:

// Check Disk Space and display
void readSpace(){
    execCommandLine("mount -o rw,remount /cache");
    File spacechecker = new File("/cache");
    long totalSpace = spacechecker.getTotalSpace();
    long usableSpace = spacechecker.getUsableSpace();

    TextView tsp = (TextView) findViewById(R.id.AmmountTotal);
    tsp.setText(totalSpace /1024 /1024 + " MB");

    TextView usp = (TextView) findViewById(R.id.AmmountAvailable);
    usp.setText(usableSpace /1024 /1024 + " MB");

    TextView rsp = (TextView) findViewById(R.id.AmmountRecommended);
    rsp.setText(usableSpace /1024 /1024 -20 + " MB");
}

long usableSpace120 をMB単位の値にするにはどうすればよいですか?

前もって感謝します

4

2 に答える 2

1

私がこれを正しく理解しているなら、あなたは TextView の上限を変更したいですか?

  mb.setFilters(new InputFilter[]{ new InputFilterMinMax("1", Long.toString(usableSpace / 1024 / 1024))});
于 2013-04-10T17:15:53.863 に答える
0

ありがとう!今、私はそれを正しくしました!完成した作業中のコードは次のとおりです。

    @Override
    protected void onCreate(Bundle savedInstanceState) {  
         ...
         readSpace();
         ... 
         final EditText mb = (EditText) findViewById(R.id.editText1);
         ...
}

と:

// Check Disk Space and display
void readSpace(){
    execCommandLine("mount -o rw,remount /cache");
    File spacechecker = new File("/cache");
    long totalSpace = spacechecker.getTotalSpace();
    long usableSpace = spacechecker.getUsableSpace();

    TextView tsp = (TextView) findViewById(R.id.AmmountTotal);
    tsp.setText(totalSpace /1024 /1024 + " MB");

    TextView usp = (TextView) findViewById(R.id.AmmountAvailable);
    usp.setText(usableSpace /1024 /1024 + " MB");

    TextView rsp = (TextView) findViewById(R.id.AmmountRecommended);
    rsp.setText(usableSpace /1024 /1024 -20 + " MB");

    EditText mb = (EditText) findViewById(R.id.editText1);
    mb.setFilters(new InputFilter[]{ new InputFilterMinMax("1", Long.toString(usableSpace /1024 /1024))});

}
于 2013-04-10T17:41:12.573 に答える