Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android如何使用Edittext更改字符串并在同一活动中重用_Android_Xml_String_Credit Card Track Data - Fatal编程技术网

Android如何使用Edittext更改字符串并在同一活动中重用

Android如何使用Edittext更改字符串并在同一活动中重用,android,xml,string,credit-card-track-data,Android,Xml,String,Credit Card Track Data,我有一个严重的问题,我有一个刷卡应用程序,它通过一个xml传递所有卡数据(我的代码中xml的结构是由sdk提供商编写的)。我需要使用2个EditText(1个用于卡号,1个用于ExpDate)手动输入数据,然后将该数据传递给要在处理订单的xml中使用的相同活动(或新活动)。这能做到吗?如何做到这一点?下面是我的代码-编辑或更正将非常有用。。。先谢谢你 String tranXmlFmt = "<?xml version=\"1.0\"?><TStream&g

我有一个严重的问题,我有一个刷卡应用程序,它通过一个xml传递所有卡数据(我的代码中xml的结构是由sdk提供商编写的)。我需要使用2个EditText(1个用于卡号,1个用于ExpDate)手动输入数据,然后将该数据传递给要在处理订单的xml中使用的相同活动(或新活动)。这能做到吗?如何做到这一点?下面是我的代码-编辑或更正将非常有用。。。先谢谢你

String tranXmlFmt =  
        "<?xml version=\"1.0\"?><TStream>" 
      + "<Transaction>" 
      + "<IpAddress>66.173.160.125</IpAddress>" 
      + "<MerchantID>002649</MerchantID> " 
      + "<OperatorID>50</OperatorID>" 
      + "<TranType>Credit</TranType>" 
      + "<CardType>VISA</CardType> " 
      + "<TranCode>Sale</TranCode> " 
      + "<OperatorID>55</OperatorID> "
      + "<InvoiceNo>100001</InvoiceNo>" 
      + " <RefNo>100001</RefNo> " 
      + "<PartialAuth>Allow</PartialAuth>"
      + "<Account>" 
      + "<AcctNo>4104891389583005</AcctNo>"  
      + "</Account> " 
      + "<ExpDate>0214</ExpDate>"
      + "<Amount><Purchase>13.00</Purchase></Amount>" 
      + "<UserTraceData>GBTE130116</UserTraceData>"
      + "</Transaction> " 
      + "</TStream>";
String initXml = "" 
    + "<?xml version=\"1.0\"?>" 
    + "<TStream><Admin>" 
    + "    <MerchantID>002649</MerchantID>"
           + "    <TerminalID>002</TerminalID><TranCode>SecureDeviceInit</TranCode>"
           + "    <PadType>None</PadType>" + "    <TranType>Setup</TranType>"
           + "    <SecureDevice>UniMagSecureMagDsi</SecureDevice>" 
           + "    <ComPort>1</ComPort>" 
           + "  </Admin>"
           + "</TStream>";
    '

我只需要添加2个Edittext,并将AcctNo和ExpDate字符串更改为在同一活动中使用。请提供帮助。

您可以从edittext获取数据,并使用意图将其传递给您的第二个活动

     String s1,s2
     EditText ed1= (EditText)findViewById(R.id.editext); 
     EditText ed2= (EditText)findViewById(R.id.editext2);

         on Button click

     s1 = ed1.getText().toString(); 
     s2 = ed2.getText().toString();
     ed1.setText("");  
     ed2.setText("");  
在同样的活动中。可以像上面一样保留其他标签

     String xml ="<AcctNo>"+s1+"</AcctNo>"  
          + "<ExpDate>"+s2+"</ExpDate>"; 

             OR

    Intent i= new Intent("com.example.secondactivity");
    i.putExtra("key1",s1);   
    i.putExtra("key2",s2);  
    startActivity(i);
可以像上面一样保留其他标签

    String xml ="<AcctNo>"+value1+"</AcctNo>"  
          + "<ExpDate>"+value2+"</ExpDate>";
stringxml=”“+value1+“”
+“+value2+”;
编辑:

acitivity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<EditText
    android:id="@+id/editText1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="33dp"
    android:ems="10" >
</EditText>
<EditText
    android:id="@+id/editText2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:ems="10" />
<TextView
   android:id="@+id/textView1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:layout_marginTop="36dp"
   android:text="TextView" />
 <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"
    android:text="TextView" />
  <TextView
      android:id="@+id/textView3"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:layout_marginTop="20dp"
      android:text="TextView" />
    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"
    android:text="Button" />
    </LinearLayout>

主要活动

   public class MainActivity extends Activity {

EditText ed1,ed2;
TextView tv1,tv2,tv3;
Button b;
String s1;
String s2;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ed1= (EditText) findViewById(R.id.editText1);
    ed2= (EditText) findViewById(R.id.editText2);
    tv1 = (TextView) findViewById(R.id.textView1);
    tv2 = (TextView) findViewById(R.id.textView2);
    tv3 = (TextView) findViewById(R.id.textView3);
    b= (Button) findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            s1= ed1.getText().toString();
            s2= ed2.getText().toString();
            System.out.println("................"+s1);
            System.out.println("................"+s2);
            tv1.setText(s1);
            tv2.setText(s2);
            String xml ="<AcctNo>"+s1+"</AcctNo>"  
                      + "<ExpDate>"+s2+"</ExpDate>";
            System.out.println("................"+xml);
            tv3.setText(xml);
            ed1.setText("");
            ed2.setText("");
        }

    });

}

}
公共类MainActivity扩展活动{
编辑文本ed1、ed2;
文本视图tv1、tv2、tv3;
按钮b;
字符串s1;
字符串s2;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed1=(EditText)findViewById(R.id.editText1);
ed2=(EditText)findViewById(R.id.editText2);
tv1=(TextView)findViewById(R.id.textView1);
tv2=(TextView)findViewById(R.id.textView2);
tv3=(TextView)findViewById(R.id.textView3);
b=(按钮)findViewById(R.id.button1);
b、 setOnClickListener(新的OnClickListener()
{
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
s1=ed1.getText().toString();
s2=ed2.getText().toString();
系统输出打印项次(“……”+s1);
系统输出打印项次(“……”+s2);
tv1.setText(s1);
tv2.setText(s2);
字符串xml=”“+s1+“”
+“+s2+”;
System.out.println(“……”+xml);
tv3.setText(xml);
ed1.setText(“”);
ed2.setText(“”);
}
});
}
}
正如你所看到的,它是有效的。请看快照。我有3个文本视图,2个EditText和一个按钮。 用户在EditText中键入后,我单击按钮,将值设置为textview。 正如您所见,这些值反映在字符串xml中,这是textview3中的结果集


但我需要第二项活动与第一项相同。。。可能吗?你说的相同是什么意思?。从EditText获取文本,将值附加到所需的标记。保持其他标记不变。我必须将新的EditText值添加到“String tranXmlFmt”中,否则会出现错误。单击“检索值”按钮并清除EditText。因此,下次用户键入时,您将获得新值。请检查编辑。如果你不能发布任何代码(相关代码)。我想我再也帮不了你了。但是您可以相应地修改我的代码。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<EditText
    android:id="@+id/editText1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="33dp"
    android:ems="10" >
</EditText>
<EditText
    android:id="@+id/editText2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:ems="10" />
<TextView
   android:id="@+id/textView1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:layout_marginTop="36dp"
   android:text="TextView" />
 <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"
    android:text="TextView" />
  <TextView
      android:id="@+id/textView3"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center"
      android:layout_marginTop="20dp"
      android:text="TextView" />
    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"
    android:text="Button" />
    </LinearLayout>
   public class MainActivity extends Activity {

EditText ed1,ed2;
TextView tv1,tv2,tv3;
Button b;
String s1;
String s2;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ed1= (EditText) findViewById(R.id.editText1);
    ed2= (EditText) findViewById(R.id.editText2);
    tv1 = (TextView) findViewById(R.id.textView1);
    tv2 = (TextView) findViewById(R.id.textView2);
    tv3 = (TextView) findViewById(R.id.textView3);
    b= (Button) findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            s1= ed1.getText().toString();
            s2= ed2.getText().toString();
            System.out.println("................"+s1);
            System.out.println("................"+s2);
            tv1.setText(s1);
            tv2.setText(s2);
            String xml ="<AcctNo>"+s1+"</AcctNo>"  
                      + "<ExpDate>"+s2+"</ExpDate>";
            System.out.println("................"+xml);
            tv3.setText(xml);
            ed1.setText("");
            ed2.setText("");
        }

    });

}

}