Ссылка на сайт и окончание URL с моим textview - PullRequest
0 голосов
/ 20 декабря 2018

Например."http://www.john.com/" +" текстовое содержимое из действия "

Я пробовал много разных кодировок, но не могу заставить его работать. Самое близкое, что я нашел, - это код дляGoogle Search Query, и я пытался модифицировать код для своих нужд, но он не работает.

У меня есть текстовое представление с именем "article", значение которого извлекается из базы данных. Допустим, чтовыходное значение становится «4545», поэтому, когда я нажимаю кнопку, я хочу, чтобы браузер открывался и начинал с этого URL-адреса "http://www.john.com/4545".

, я бы действительно оценил помощь!Заранее спасибо!

MainActivity.java

package com.example.lindstreamerss.androidsqlitesearch;

import android.app.SearchManager;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {

    private TextView textViewInput;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textViewInput = (TextView) findViewById(R.id.article);

        public void onSearchClick(View v) {
        try {
            Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
            String term = textViewInput.getText().toString();
            intent.putExtra(SearchManager.QUERY, term);
            startActivity(intent);
        } catch (Exception e) {
            // TODO: handle exception
        }

    }

}

layout_item.xml

<TextView

    android:id="@+id/article"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="30dp"
    android:layout_marginLeft="30dp"
    android:layout_marginTop="5dp"
    android:layout_marginEnd="10dp"
    android:layout_marginBottom="28dp"
    android:fontFamily="@font/regular"
    android:gravity="center_vertical|start"
    android:text="4545"
    android:textAllCaps="false"
    android:textSize="19sp">

<requestFocus />
</TextView>

<Button

    android:id="@+id/imageButton"
    android:background="@color/white"
    android:fontFamily="@font/regular"
    android:drawableLeft="@drawable/ic_web"
    android:paddingLeft="25dp"
    android:textSize="15sp"
    android:textAllCaps="false"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:onClick="onSearchClick"
    android:paddingRight="40dp"
    android:text="Visa artikel" />

AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.lindstreamerss.androidsqlitesearch">

    <uses-permission android:name="android.permission.INTERNET"/>

        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">

            <activity android:name="com.example.lindstreamerss.androidsqlitesearch.MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <action android:name="android.intent.action.VIEW" />

                    <category android:name="android.intent.category.DEFAULT" />


                    <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Решение, если вы хотите импортировать из другого XML:

        View inflatedView = getLayoutInflater().inflate(R.layout.YOURLAYOUT, null); 
        TextView text = (TextView) inflatedView.findViewById(R.id.YOURID); String 
        escapedQuery = text.getText().toString(); Uri uri = 
        Uri.parse("https://www.YOURWEBSITE.com/" + escapedQuery); Intent intent = new 
        Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 

Решение, если вы используете ViewHolder (в моем случае RecyclerView:

        String example = ((TextView) recyclerView.findViewHolderForAdapterPosition(0).itemView.findViewById(R.id.YOURID)).getText().toString();

        Uri uri = Uri.parse("https://www.YOURWEBSITE.com/" + example);
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);

        }

Удачного кодирования;)

0 голосов
/ 13 января 2019

Это просто работает, при нажатии кнопки выполните приведенный ниже код и внесите необходимые изменения, чтобы сделать его совместимым с вами.

    String term = textViewInput.getText().toString();
    String myUrl = "http://www.john.com/4545"+term;

    String url = "https://developer.android.com/"+"jetpack";
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(intent);
...