mainActivityでインテントを受け取った後にレイアウトを変更しようとすると、問題が発生しました。私は2つのクラスレイアウト変更時に2つのアクティビティアプリがクラッシュする
MainActivityを持って
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.e(TAG, "onCreate");
MainActivity.context = getApplicationContext();
//two Intents are received
Intent i = this.getIntent();
Bundle extras = i.getExtras();
if(extras != null){
if(extras.containsKey("message"))
{ //another intent is received (works fine)}
if(extras.containsKey("scanContent")) {
Log.e(TAG, "scancontent intent received");
String msg = extras.getString("scanContent");
Log.e(TAG, msg);
arrowS.setVisibility(View.VISIBLE);//app is refreshed, but nothing is changed
}
scanButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent scan = new Intent(MainActivity.this, Scan.class);
startActivity(scan);
} } });}
スキャンクラス:
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
//get the extras that are returned from the intent
String contents = intent.getStringExtra("SCAN_RESULT");
Intent i = new Intent(Scan.this, MainActivity.class);
i.putExtra("scanContent", contents);
startActivity(i);
}
}
}
@Override
public void onBackPressed() {
finish();
Intent intent = new Intent(Scan.this, MainActivity.class);
startActivity(intent);}
すべてがmainactivityで "arrowS.setVisibility(View.VISIBLE)" ラインを除いて動作します
- スキャンインテントは、mainActivityクラスから開始されます。
- MainActivityインテントはScanクラスのonActivityResult()メソッドから開始されます
Logcatではエラーメッセージは表示されませんが、Logcat出力/アプリケーションは更新され、何も変更されません。私の欠陥がどこにあるのか誰にでも見えますか?
は、矢印を何ですか、uはそれを初期化したのですか? – W4R10CK