2013-04-10 4 views
0

나는 안드로이드 장치의 /cache 파티션에 스왑 공간을 생성하는 응용 프로그램을 만들고 있습니다. 스왑의 최대 크기를 이미 계산할 수 있지만 입력 할 수있는 최대 크기는 여전히 고정적입니다. EditText I이 사용 InputFilter를 들어onCreate inputfilter에서 void 값 사용

:

// 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"); 
} 

가 어떻게 MB의 long usableSpace의 값으로 120을 얻을 수 있습니다 :

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

을 그리고 내 void이 무엇입니까?

답변

1

내가 올바르게 이해하고있어 사전에

감사합니다, 당신은 예, 당신의 텍스트 뷰의 상한을 변경하려면?

mb.setFilters(new InputFilter[]{ new InputFilterMinMax("1", Long.toString(usableSpace/1024/1024))}); 
+0

그래, 당신은 그 권리를 이해,하지만 난 내에서 onCreate 방법에 usableSpace를 사용하려고 할 때마다, Eclipse는 날이 될 수 없음을 알려줍니다 readspace 메서드에서 변수 – dannydeb

+1

으로 해결합니다. findViewById를 다시 호출 한 다음 설정하십시오. –

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))}); 

}