Android:将值从view类来回传递到另一个活动
我已设法从视图类切换到新活动。它通过对话框启动新活动的开始,并将特定圆圈的名称传递给新活动。但是,我无法成功地将名称传递给新活动,并显示在新活动中的文本视图中。新活动的textview保持为空。请就这个问题提出建议。多谢各位 我的视图类中的Ontouchevent代码:Android:将值从view类来回传递到另一个活动,android,android-intent,android-activity,Android,Android Intent,Android Activity,我已设法从视图类切换到新活动。它通过对话框启动新活动的开始,并将特定圆圈的名称传递给新活动。但是,我无法成功地将名称传递给新活动,并显示在新活动中的文本视图中。新活动的textview保持为空。请就这个问题提出建议。多谢各位 我的视图类中的Ontouchevent代码: @Override public boolean onTouchEvent(MotionEvent event) { x = event.getX();
@Override
public boolean onTouchEvent(MotionEvent event) {
x = event.getX();
y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
for (int i = 0; i < circles.size(); i++) {
if (circles.get(i).contains(x, y)) {
circleID = i;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
AlertDialog.Builder builder = new Builder(
getContext());
final EditText text = new EditText(getContext());
builder.setTitle("Adding colors to circles").setMessage(
"Proceed to Enter color");
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface di,
int i) {
Intent intent = new Intent(
getContext(),
colorActivity.class);
getContext().startActivity(intent);
intent.putExtra("circlename", circleNameList.get(circleID));
}
});
builder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface di,
int i) {
}
});
builder.create().show();
}
}, 3000);
break;
}
改变这个
Intent intent = new Intent(getContext(),colorActivity.class);
getContext().startActivity(intent); // you start activity
intent.putExtra("circlename", circleNameList.get(circleID)); // then you have putExtra
到
您需要在开始活动之前添加额外内容,即,您需要在getContext()之前添加putextra行。startActivity(intent)@瓦姆希,我错了!谢谢@拉古南丹,对不起,我做了些改变。感谢您的帮助。在我的新活动中,允许用户输入所选特定颜色的颜色。如果我需要再次将颜色传递回视图类,这将如何工作?您需要使用
startActivityForResult
并使用intent将数据返回到以前的活动中,并将其传递给视图类您是否有任何关于此的引用?@user3306996有许多类似的示例是stackoverflow。谷歌搜索它
Intent intent = new Intent(getContext(),colorActivity.class);
getContext().startActivity(intent); // you start activity
intent.putExtra("circlename", circleNameList.get(circleID)); // then you have putExtra
Intent intent = new Intent(getContext(),colorActivity.class);
intent.putExtra("circlename", circleNameList.get(circleID)); //putExtra first
getContext().startActivity(intent); // then startactivity