Android意图导致数据错误

时间:2016-06-11 13:49:55

标签: android android-intent

我有一个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

感谢您的帮助。

2 个答案:

答案 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");

最好将某些字符串声明为意图中传递的数据的键名的最终字符串