TextView设置连接的方式

1.设置TextView的autoLink属性值
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_main_webBaidu" 
            android:autoLink="web"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_main_telBaidu" 
            android:autoLink="phone"/>
    </LinearLayout>

2.识别html代码
   <TextView
        android:id="@+id/tvHtml"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
       <span style="white-space:pre">	</span>// html识别链接
	tvHtml = (TextView) findViewById(R.id.tvHtml);

	String value = "<html><a href='http://www.baidu.com'>百度一下</a>(注意这里的URL地址必须加http:协议)<br />"
			+ "联系方式:<a href='tel://010-59928888'>010-59928888</a></html>";

	// 若打开,与html识别起冲突
	// tvHtml.setAutoLinkMask(Linkify.ALL);
	tvHtml.setMovementMethod(LinkMovementMethod.getInstance());
	tvHtml.setText(Html.fromHtml(value));

3.SpannableStringBuilder手动设置连接

    <TextView
        android:id="@+id/tvSpan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

        // span手动识别链接
	tvSpan = (TextView) findViewById(R.id.tvSpan);
		
	value = "[百度一下]\r\n客服电话:[010-59928888]";

	// 若打开,仍起作用
	// tvSpan.setAutoLinkMask(Linkify.ALL);
	tvSpan.setMovementMethod(LinkMovementMethod.getInstance());

	SpannableStringBuilder builder = new SpannableStringBuilder(value);

	int indexStart = value.indexOf("[");
	int indexEnd = 0;
	while (indexStart != -1) {
		indexEnd = value.indexOf("]", indexStart);
		
		builder = builder.delete(indexEnd, indexEnd + 1);
		builder = builder.delete(indexStart, indexStart + 1);
		indexEnd--;
		
		value = builder.toString();

		final String temp = value.substring(indexStart, indexEnd);

		if (temp.equals("百度一下")) {
			builder.setSpan(new ClickableSpan() {
				@Override
				public void onClick(View widget) {
					Toast.makeText(MainActivity.this, temp,
							Toast.LENGTH_SHORT).show();

					String url = "http://www.baidu.com";
					Intent intent = new Intent(Intent.ACTION_VIEW);
					intent.setData(Uri.parse(url));
					startActivity(intent);
				}
			}, indexStart, indexEnd, 0);

		}

		if (temp.equals("010-59928888")) {
			builder.setSpan(new ClickableSpan() {
				@Override
				public void onClick(View widget) {
					String url = "tel://010-59928888";
					Intent intent = new Intent(Intent.ACTION_VIEW);
					intent.setData(Uri.parse(url));
					startActivity(intent);
					Toast.makeText(MainActivity.this, temp,
							Toast.LENGTH_SHORT).show();

				}
			}, indexStart, indexEnd, 0);
		}

		indexStart = value.indexOf("[", indexEnd);
	}

	tvSpan.setText(builder, BufferType.SPANNABLE);

你可以通过如下步骤将数据库中的 int 类型值显示在 TextView 中: 1. 获取 int 类型数据,并将其转换为 String 类型。 2. 将转换后的 String 类型值设置TextView 中。 下面是一个简单的示例代码: ```java // 假设已经获取到了 int 类型的数据,存储在变量 intValue 中 int intValue = 123; // 将 int 类型的数据转换为 String 类型 String strValue = String.valueOf(intValue); // 将转换后的值设置TextViewTextView textView = findViewById(R.id.text_view); textView.setText(strValue); ``` 在这个示例中,我们首先获取了一个 int 类型的数据,然后使用 `String.valueOf()` 方法将其转换为 String 类型。最后,我们将转换后的值设置TextView 中。 如果你需要从数据库中获取 int 类型的数据,可以使用以下代码: ```java // 假设你已经打开了一个 SQLiteDatabase 对象,并且有一张名为 "my_table" 的表,其中包含一个名为 "my_column" 的 int 类型列 SQLiteDatabase db = // 打开数据库连接 Cursor cursor = db.query("my_table", new String[]{"my_column"}, null, null, null, null, null); if (cursor.moveToFirst()) { int intValue = cursor.getInt(cursor.getColumnIndex("my_column")); String strValue = String.valueOf(intValue); TextView textView = findViewById(R.id.text_view); textView.setText(strValue); } cursor.close(); db.close(); ``` 在这个示例中,我们首先使用 `db.query()` 方法从数据库中查询指定的列,并将结果存储在一个 Cursor 对象中。然后,我们使用 `cursor.getInt()` 方法获取 int 类型的值,并将其转换为 String 类型。最后,我们将转换后的值设置TextView 中。 请注意,上面的示例代码仅为演示连接数据库和显示 int 类型数据到 TextView 的基本步骤,实际情况可能需要根据具体需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值