ファイルが存在するかどうかにかかわらず変数DEVICE
が変更されるこのコードを作成しました。だから私はこのコードを作ったが、変数は、常にnullです。JAVA - 変数は常にnullです
public class MainActivity extends AppCompatActivity{
String DEVICE;
@Override
protected void onCreate(Bundle savedInstanceState) {
apply = (Button) findViewById(R.id.apply);
apply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checktypezip(DEVICE);
while (DEVICE == null){
Log.v("Check","Check non completo");
}
}
});
}
public void checktypezip(String string){
String percorso = Environment.getExternalStorageDirectory().getPath()+"/BAC/.unzipfile/";
File normalzip = new File (percorso+"desc.txt");
File flashzip = new File (percorso+"/system/media/bootanimation.zip");
File samsung = new File (percorso+"/bootsamsung.qmg");
File flashsamsung = new File (percorso+"/system/media/bootsamsung.qmg");
String disp;
disp=string;
if (normalzip.exists()){
disp = "Normal";
string=disp;
}
else if (flashzip.exists()){
disp = "Flashnormal";
string=disp;
}
else if (samsung.exists()){
disp = "Samsung";
string=disp;
}
else if (flashsamsung.exists()){
disp = "Samsungflash";
string=disp;
}
else
{
disp = "Unknown";
string=disp;
}
}
}
に置き換えることをお勧めします。なぜなら、あなたは値を決して与えないからです。 –
'string'はポインタではないので、' checktypezip'メソッドで 'DEVICE'を更新していません。 'string =" foo "'は 'DEVICE'を更新しません。 PS:これは素晴らしい無限ループです) – AxelH
checktypezipに戻り型を追加するか、paramを削除してメンバー変数に直接アクセスします。 –