ユーザーが前のアクティビティでドラッグしたビューに基づいてアクティビティのビューを変更しようとしていますが、コードに問題があり、機能しません。
整数はpublicstaticint _idとして格納され、整数は次のようにビューごとに設定されます。
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(150, 50);
layoutParams.leftMargin = 250;
layoutParams.topMargin = 250;
layoutParams.bottomMargin = -250;
layoutParams.rightMargin = -250;
_view.setLayoutParams(layoutParams);
_view.setOnTouchListener(this);
_view.setId(1);
次に、整数はこのコードスニペットを介して次のアクティビティに送信されます。
case MotionEvent.ACTION_UP:
_id = view.getId();
Intent intent = new Intent(MainActivity.this, Exit_Activity.class);
intent.putExtra("smiley", _id);
startActivity(intent);
そして、理論的には次のアクティビティで受信し、画面の上部に表示されるビューを定義する必要があります。
public class Exit_Activity extends Activity {
ImageView _view;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exit_);
getActionBar().setDisplayHomeAsUpEnabled(true);
Intent Intent = getIntent();
int intValue = Intent.getIntExtra("smiley", 0);
ImageView img = new ImageView(this);
img.setImageResource(R.drawable.smile);
if (intValue == 1) {img.setImageResource(R.drawable.smile);}
else if (intValue == 2) {img.setImageResource(R.drawable.frown);}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_exit_, menu);
return true;
}
現在、ドラッグされているビューに関係なく、何も実行されていないようです。任意の入力をいただければ幸いです。
編集:
ボーナスブラウニーポイントについては、私はテキストに対して同じことをしようとしています、それは少しこのように見えます:
TextView textView = (TextView) findViewById(R.id.DynRes);
setContentView(R.id.DynRes);
if (intValue == 1) {DynRes.setText("Good to hear! have a nice day!");}
else
if (intValue == 2) {DynRes.appendText("We're very sorry, we'll try harder next time!");}
}
Eclipseで「DynResを解決できません」というエラーが発生しましたが、その理由が完全にはわかりません。再度、感謝します。