我有一个android意图问题,它工作并打开一个新窗口但是当从mainactivity获取数据时所有这些都是0但是当我检查它有正确的值。 怎么可能?
这是主要代码:
nst = Integer.parseInt(ConfMat[1][1]);
nrt = Integer.parseInt(ConfMat[2][2]);
ndx = Integer.parseInt(ConfMat[3][3]);
nsx = Integer.parseInt(ConfMat[4][4]);
Intent intent2 = new Intent(getApplicationContext(),Server.class);
Bundle bundle = new Bundle();
intent2.putExtra("stop", nst);
intent2.putExtra("rotatoria", nrt);
intent2.putExtra("destra", ndx);
intent2.putExtra("sinistra", nsx);
Log.i(TAG, "STOP " + nst + " ,rt " + nrt+" ,dx "+ndx+" ,sx "+nsx);
intent2.putExtras(bundle);
startActivity(intent2);
日志结果是: STOP 1,rt 1,dsx 1,sx 1
然后我得到意图中的数据:
super.onCreate(savedInstanceState);
setContentView(R.layout.serversocket);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
nsts = bundle.getInt("nst");
nrts = bundle.getInt("nrt");
ndxs = bundle.getInt("ndx");
nsxs = bundle.getInt("nsx");
try{
Log.i(TAG, "Nell server Stop " + nsts + " ,rt" + nrts + " ,dx" + ndxs + " ,sx" + nsxs);
现在回归日志: Nell服务器停止0,rt 0,dx 0,sx 0
感谢您的帮助。
答案 0 :(得分:3)
我认为你的钥匙和价值观混在一起。尝试:
<%
if(request.getParameter("modifica_e")!=null){
String indice = request.getParameter("modifica_e");
session.setAttribute("modificare","entrata");
session.setAttribute("modificare_i",indice);
%>
<script>
response.setHeader("Refresh", "0.3; URL=modifica.jsp");
</script>
<%
}
%>
答案 1 :(得分:1)
net,rst,ndx,nsx是变量名。在检索数据时,你需要使用键stop,rotatoria
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
nsts = bundle.getInt("stop");
nrts = bundle.getInt("rotatoria");
ndxs = bundle.getInt("destra");
nsxs = bundle.getInt("sinistra");
最好将某些字符串声明为意图中传递的数据的键名的最终字符串