2

ボタンをクリックすると、エラーメッセージが表示されます:残念ながら、ここでエラーが停止しました

ボタンコード:

Button btn=(Button)findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i1 = new Intent(v.getContext(),Letters.class); 
i1.putExtra("Ar", "a5");
startActivity(i1);
}

});

これは letters.Java コードです。

エラーとは何か、どのように修正したか。

package com.example.learn;

import com.example.learn.R;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.*;
    public class Letters extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_letters);
            ImageView image = new ImageView(this);
            RelativeLayout rl = (RelativeLayout) findViewById(R.id.relativelayout1);
            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
            lp.addRule(RelativeLayout.BELOW);
            lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            Bundle extras = getIntent().getExtras();
            String Ar_let=extras.getString("Ar");
            Toast.makeText(this, Ar_let, Toast.LENGTH_LONG).show();
            if(Ar_let=="a1")
            {
                image = (ImageView) findViewById(R.id.imageView1);
                image.setImageResource(R.drawable.ar_a);
                rl.addView(image, lp);
            }
            else if(Ar_let=="a2")
            {
                image = (ImageView) findViewById(R.id.imageView2);
                image.setImageResource(R.drawable.ar_b);
                rl.addView(image, lp);
            }
            else if(Ar_let=="a3")
            {
                image = (ImageView) findViewById(R.id.imageView3);
                image.setImageResource(R.drawable.ar_c);
                rl.addView(image, lp);
            }
            else if(Ar_let=="a4")
            {
                image = (ImageView) findViewById(R.id.imageView4);
                image.setImageResource(R.drawable.ar4);
                rl.addView(image, lp);
            }
            else if(Ar_let=="a5")
            {
                image = (ImageView) findViewById(R.id.imageView5);
                image.setImageResource(R.drawable.ar5);
                rl.addView(image, lp);
            }
            else
            {
                image = (ImageView) findViewById(R.id.imageView5);
                image.setImageResource(R.drawable.ar5);
                rl.addView(image, lp);
            }
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.letters, menu);
            return true;
        }

    }

エラーは何ですか??!!

Letters.java を削除して再度追加しますが、同じことです

4

3 に答える 3

0

おそらく、次のv.getContext();
ようなことを試してみませんか?

Intent intent = new Intent(myFirstClass.this,MySecondClass.class);
startActivity(intent);
于 2013-06-30T18:34:59.173 に答える
0

LogCat は見ていませんが、受信アクティビティで、渡さなかったバンドルを受信しようとしています。渡したのは文字列のみなので、バンドルの代わりに Intent.getStringExta() を使用してください

String received = getIntent().getStringExtra("Ar");
于 2013-06-30T18:45:37.657 に答える