我正在尝试根据用户在上一个活动中拖动的视图来更改活动的视图,但是我的代码中有问题并且它拒绝工作。
整数存储为公共静态 int _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 无法解决”,我并不完全清楚为什么。再次感谢。