1

テキストビューでsetTextを使用してテキストの文字列を表示しようとすると、実際に問題が発生します。Web サービスへのすべての呼び出しが機能し、データを取得する関数が機能し、EditText を使用して文字列を表示すると、すべてが正しく表示されますが、EditText をテキストとして表示するのではなく、テキストを画面に表示したいだけですユーザーが編集するものではなく、情報です。

このコードは EditText で機能します -

package xxx.refusecollectionday;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class SingleListItem extends Activity{
    /** Called when the activity is first created. */
    private static String NAMESPACE = "http://xxx";
    private static String URL = "http://xxx/Service.asmx";
    private static String SOAP_ACTION = "http://xxxx";
    private static String METHOD_NAME1 = "xxx";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.single_list_item_view);

        Intent intent = getIntent();
        String uprn = intent.getStringExtra(AndroidListViewActivity.UPRN).trim();
        String displayText = "";

        //Initialize soap request + add parameters
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);

        //Use this to add parameters
        request.addProperty("UPRN",uprn);

        //Declare the version of the SOAP request
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

        envelope.setOutputSoapObject(request);
        envelope.dotNet = true;

        try {
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

            //this is the actual part that will call the webservice
            androidHttpTransport.call(SOAP_ACTION, envelope);

            // Get the SoapResult from the envelope body.
            SoapObject result = (SoapObject)envelope.bodyIn;

            if(result != null) {                
                String strXML = result.getProperty(0).toString();               
                strXML = sortXMLString(strXML);
                                }
            }else{
                showBalloonPopUp("No Response");
            }
        }catch(Exception e) {
            e.printStackTrace();
        }

        displayText = displayText + "\nTo contact the Customer Service Centre:\n";

        EditText txtCollectionResults = (EditText) findViewById(R.id.collectionresults);

        // displaying selected product name
        txtCollectionResults.setText(displayText); 

        //showAlertDialog(displayText);
    }

     public void showBalloonPopUp(String popUpMessage){
        Toast.makeText(this, popUpMessage, Toast.LENGTH_SHORT).show();
    }

       public void showAlertDialog(String alertMessage){
        AlertDialog ad = new AlertDialog.Builder(this).create();  
        ad.setCancelable(false); // This blocks the 'BACK' button  
        ad.setMessage(alertMessage);  
        ad.setButton(-1, "OK", new DialogInterface.OnClickListener() {  
            @Override  
            public void onClick(DialogInterface dialog, int which) {  
                dialog.dismiss();                      
            }  
        });  
        ad.show(); 
    }

     public String sortXMLString(String stringToCorrect){
        // do stuff

        return stringToCorrect;
    }
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <EditText android:id="@+id/collectionresults"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="15dip"                 
            android:padding="10dip"
            android:textColor="#000000"
            android:maxLines="50" 
            android:editable="false" />
</LinearLayout>

しかし、xml で EditText を TextView に変更すると、次のようになります。

TextView txtCollectionResults = (TextView) findViewById(R.id.collectionresults);

        // displaying 
        txtCollectionResults.setText(displayText);

テキストを表示しない

4

0 に答える 0