0
AndroidとJavaの新機能ですが、プログラミングの経験があります。 Android/Javaの奇妙な文字列の振る舞い
私は、Androidに次のように開始したい
、それがクラッシュします:package org.ds.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Toast.makeText(this,
getResources().getStringArray(R.array.test_array).length,
Toast.LENGTH_SHORT).show();
}
}
は、私にはわからない、なぜアプリがクラッシュするが、配列が値の文字列配列として定義されている/ arrays.xml 6項目あります。 R.javaでもすべて正しいです。配列はそこに定義されています。
私はそれが動作する次のようにします。私は最初の変数に長さを呼び出し、私が望んでいたように、その後さらに長さを呼び出すとき
package org.ds.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
int arr_length = getResources().getStringArray(R.array.test_array).length;
Toast.makeText(this,
"array has a length of " + arr_length + " " + getResources().getStringArray(R.array.test_array).length,
Toast.LENGTH_SHORT).show();
}
}
、なぜそれが動作しますか? Androidのレベルは8/2.2です それは私には意味がありませんので、おそらくあなたの一人が手がかりを持っています。
これはすべてのJava開発者にとって古くからの問題です。誰もがこの問題を何度か持っていました。 –
ああ、そうです。あなたはひどく複雑であるように見える問題を検索すると、最も簡単な可能性を見落とします。 – Morv
@DaysShadow回答を受け入れたものとしてマークすることを忘れないでください。まだできなかったら私の謝罪。 – Klaus