Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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
Java Android中具有可链接文本的ListView_Java_Android - Fatal编程技术网

Java Android中具有可链接文本的ListView

Java Android中具有可链接文本的ListView,java,android,Java,Android,我从.NET web服务获得了以下输入: https://www.LinkFromImageonTheGoogle.net/myImage.png<br />23/03/2014<br /><a href=http://www.mywebpage.net?ID=764>My remote pics</a><br /><br /> https://www.LinkFromImageonTheGoogle.net/myImag

我从.NET web服务获得了以下输入:

https://www.LinkFromImageonTheGoogle.net/myImage.png<br />23/03/2014<br /><a href=http://www.mywebpage.net?ID=764>My remote pics</a><br /><br />

https://www.LinkFromImageonTheGoogle.net/myImage1.png<br />22/03/2014<br /><a href=http://www.mywebpage.net?ID=765>My remote pics 1</a><br /><br />

https://www.LinkFromImageonTheGoogle.net/myImage2.png<br />21/03/2014<br /><a href=http://www.mywebpage.net?ID=766>My remote pics 2</a><br /><br />
并尝试了以下代码,但在输出中,我只在三行中找到了文本链接,而不是html格式的链接:

<a href=http://www.mywebpage.net?ID=764> 
<a href=http://www.mywebpage.net?ID=765> 
<a href=http://www.mywebpage.net?ID=766>

为此,您可以使用
SpannableString
。感谢您在何处使用?谷歌搜索提供了一个示例。很抱歉,我的第一个问题是代码的输出,但是根据您的建议,我可能会在Android中获得所需的输出?是的,您可以使用clickablespan来实现此目的。在发布的链接中有一个例子。
<a href=http://www.mywebpage.net?ID=764> 
<a href=http://www.mywebpage.net?ID=765> 
<a href=http://www.mywebpage.net?ID=766>
public class news2 extends Activity {

    private static final String SOAP_ACTION = "http://www.xxxxx.com/WebService/GetNews";
    private static final String OPERATION_NAME = "GetNews";
    private static final String WSDL_TARGET_NAMESPACE = "http://www.xxxxx.com/GetNews";
    private static final String SOAP_ADDRESS = "http://www.xxxxx.com/GetNews.asmx";


    private ListView mainListView;
    private ArrayAdapter<String> listAdapter;

    @SuppressLint("NewApi")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mains);

        mainListView = (ListView) findViewById(R.id.mainListView);

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);

        SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
                OPERATION_NAME);

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);

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

        HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
        httpTransport.debug = true;
        envelope.setOutputSoapObject(request);

        try {

            httpTransport.call(SOAP_ACTION, envelope);
            SoapPrimitive response = (SoapPrimitive) envelope.getResponse();

            String RemoteString = response.toString();
            Log.i("RemoteString", RemoteString.toString());

            RemoteString = RemoteString.replaceAll("<br />", "\n");
            Log.i("RemoteStringnew", RemoteString);

            String[] var = RemoteString.split("\\\\r?\\\\n");// new line

            ArrayList<String> planetList = new ArrayList<String>();

            listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow,
                    R.id.rowTextView, planetList);

            for (String html : var) {
                Spanned varHtml = Html.fromHtml(html);

                Object[] strings = varHtml.getSpans(0, html.length(),
                        Object.class);

                for (Object obj : strings) {
                    if (obj instanceof URLSpan) {
                        URLSpan urlSpan = (URLSpan) obj;

                        planetList.add(urlSpan.getURL());
                    }
                }
            }

            mainListView.setAdapter(listAdapter);

        } catch (Exception exception) {
            Log.e("Error:  ", exception.toString());
        }
    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

    <ListView android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:id="@+id/mainListView">
    </ListView>

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/rowTextView" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content"
 android:padding="10dp"
 android:textSize="16sp" >
</TextView>
    for (String html : var) {

        SpannableString text = new SpannableString(html);

        Object[] strings = text.getSpans(0, html.length(),
                Object.class);

        for (Object obj : strings) {
            if (obj instanceof URLSpan) {
                URLSpan urlSpan = (URLSpan) obj;

                planetList.add(urlSpan.getURL());
            }
        }
    }

    mainListView.setAdapter(listAdapter);