Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8223545
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T14:44:27+00:00 2026-06-07T14:44:27+00:00

A search api is returning me some meta data i.e a url eventURL and

  • 0

A search api is returning me some meta data i.e a url “eventURL” and trackbackurl i.e “trackBack”. I am placing the data in the listview, each row containing some data and a unique url and trackback url.When user taps on the row in the listview, a alert dialog is displayed presenting user 2 options. Clicking on option 1 should launch trackback url in a webview while clicking on second opion should launch eventURL in a webview.I have created a WebViewActivity for it,Problem is that my webview is always blank.

Main Activity

package my.stayactive.plan;


import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import my.stayactive.plan.ActiveHelper.ApiException;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;


public class StayActiveActivity extends Activity implements OnItemClickListener {

    //private EditText m_search_text;
    protected EditText m_zip;
    private ListView m_search_results;
    private Button m_search_btn;
    private JSONArray m_results; 
    private LayoutInflater m_inflater;
    private InputMethodManager m_ctrl;
    private Spinner m_radius;
    private Spinner m_activity_selector;
    public static int radius = 0;
    public static String activities;
    public String url;
    public String trackBack;
    public static String assetId;


    static final private int EXIT_ID = Menu.FIRST;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);
       // m_search_text = (EditText) findViewById(R.id.search_text);
        m_zip = (EditText) findViewById(R.id.zip);
        m_search_btn = (Button) findViewById(R.id.search_button);
       // m_searchm_results = (ListView) findViewById(R.id.lview);
        m_search_btn .setOnClickListener(go_handler);

        m_ctrl = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        m_inflater = LayoutInflater.from(this);
        addListenerOnSpinnerItemSelection();
        addListenerOnSpinner1ItemSelection();

      m_search_results = (ListView)findViewById(R.id.lview);
      m_search_results.setOnItemClickListener(this);

    }

    public void addListenerOnSpinnerItemSelection() {
        m_radius = (Spinner) findViewById(R.id.spinner);
        m_radius.setOnItemSelectedListener(new CustomOnItemSelectedListener());
      }

    public void addListenerOnSpinner1ItemSelection(){
        m_activity_selector = (Spinner) findViewById(R.id.spinner1);
        m_activity_selector.setOnItemSelectedListener(new ActivitySelectedListener());
        }

    @Override
    public boolean onCreateOptionsMenu(Menu menu){
        super.onCreateOptionsMenu(menu);

        menu.add(0, EXIT_ID, 0, R.string.exit);
        return true;
        }
    @Override
    public boolean onOptionsItemSelected (MenuItem item){

        switch (item.getItemId()){
        case EXIT_ID:
            finish();
            return true;

        }

        return super.onOptionsItemSelected(item);

    }



    OnClickListener go_handler = new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //m_ctrl.hideSoftInputFromWindow(m_search_text.getWindowToken(), 0);
            m_ctrl.hideSoftInputFromWindow(m_zip.getWindowToken(), 0);

            //String searchText = Uri.encode(m_search_text.getText().toString());
            String zip = Uri.encode(m_zip.getText().toString());

            new SearchTask().execute("?k=Fall+Classic" + "&m=meta:channel=" + activities + "&l="+ zip + "&r=" + radius);
            // Show a toast showing the search text
            Toast.makeText(getApplicationContext(),
                    getString(R.string.search_msg) + " " + 
                    activities, Toast.LENGTH_LONG).show();
        }
    };

    private class SearchTask extends AsyncTask<String, Integer, String>
    {

        ProgressDialog dialog;

            @Override
            protected void onPreExecute() {

                dialog = ProgressDialog.show(StayActiveActivity.this,"","Please Wait...");

                super.onPreExecute();
            }

            @Override
            protected String doInBackground(String... params) {
                try {
                    String result = ActiveHelper.download(params [0]);
                    return result;
                } catch (ApiException e) {
                    e.printStackTrace();
                    Log.e("alatta", "Problem making search request");
                }
                return "";
            }
            @Override
            protected void onPostExecute(String result) {
                dialog.hide();
                try {
                    JSONObject obj = new JSONObject(result);
                    m_results = obj.getJSONArray("_results");
                    if (m_results == null || m_results.length() == 0)
                    {
                        Toast.makeText(getApplicationContext(),
                                "No Results found for " + activities, 
                                Toast.LENGTH_LONG).show();

                    }
                    else
                        m_search_results.setAdapter(new JSONAdapter(getApplicationContext()));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }

    private class JSONAdapter extends BaseAdapter
    {
        public JSONAdapter(Context c){

        }

        public int getCount() 
        {
        return  m_results.length();
            }

        public Object getItem(int arg0){
            return null;
        }

        public long getItemId(int pos){
            return pos;

        }

        public View getView(int pos, View convertView, ViewGroup parent) {
            View tv;
            TextView t;

            if (convertView == null)
                tv = m_inflater.inflate (R.layout.item, parent, false);
            else
                tv = convertView;
            try {
                /* For each entry in the ListView, we need to populate 
                 * its text and timestamp */
                t = (TextView) tv.findViewById(R.id.text);
                JSONObject obj = m_results.getJSONObject(pos);

                t.setText (obj.getString("title").replaceAll("</?(?i:<|>|...|&quot|&amp|;|)(.|\n)*?>", ""));
                        //("\\<.*?\\>", ""))

                t = (TextView) tv.findViewById(R.id.created_at);
                JSONObject meta = obj.getJSONObject("meta");
              //  url = meta.getString("eventURL");
                trackBack = obj.getString("url");
                assetId = meta.getString("assetTypeId");
                //String eventDate = meta.getString("startDate");
                Calendar currentDate = Calendar.getInstance();
                long dateNow = currentDate.getTimeInMillis();


               String eventDate = meta.getString("startDate");
               String endDate = meta.getString("endDate");
               SimpleDateFormat formatter  = new SimpleDateFormat("yyyy-MM-dd");
               Date date = null;
               Date date2 = null;
            try {
                date = formatter.parse(eventDate);
                date2 = formatter.parse(endDate);
            } catch (java.text.ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
               long modifiedDate= date.getTime();
               long modifiedEndDate = date2.getTime();



                if ( Long.valueOf(dateNow).compareTo(Long.valueOf(modifiedDate)) > 0 || Long.valueOf(dateNow).compareTo(Long.valueOf(modifiedEndDate)) > 0)

                {

                    t.setText ("Was:" + "\t"+eventDate+"\n"+"Location:" +"\t" +meta.getString("location")+"\n" + meta.getString("eventURL") +"\n"+ obj.getString("url"));

                }
                    else {
                    t.setText ("When:" + "\t"+eventDate+"\n"+"Location:" +"\t" +meta.getString("location")+"\n"+ meta.getString("eventURL") +"\n"+ obj.getString("url"));
                }


            } catch (JSONException e) {

                Log.e("alatta", e.getMessage());
            }
            return tv;
        }
    }



    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        /*try {
        JSONObject obj = m_results.getJSONObject(position);
        JSONObject meta = obj.getJSONObject("meta");
        url = meta.getString("eventURL"); 


        //Intent intent = new Intent (StayActiveActivity.this, WebViewActivity.class);
        //StayActiveActivity.this.startActivity(intent);

        } catch (JSONException e) {

            Log.e("alatta",e.getMessage());
        }*/



        // TODO Auto-generated method stub
        final CharSequence[] items = {"Register", "Additional Information"};
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Please Select an Option");
        builder.setItems(items, new DialogInterface.OnClickListener() {


            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub

                if (which == 0){

                    Intent intent1 = new Intent (StayActiveActivity.this, ReviewActivity.class);
                    StayActiveActivity.this.startActivity(intent1);

                }

                else if ( which == 1){
                Intent intent = new Intent (StayActiveActivity.this, WebViewActivity.class);
                StayActiveActivity.this.startActivity(intent);

                }

            }
        });
    AlertDialog alert = builder.create();
    alert.show();

    }}

WebViewActivity

package my.stayactive.plan;


import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

    public class WebViewActivity extends StayActiveActivity {

            private WebView webView;

            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.webview);

                webView = (WebView) findViewById(R.id.webView);
                WebSettings setting = webView.getSettings();
                setting.setJavaScriptEnabled(true);
                if (url != null && url.length()>0) {
                webView.loadUrl(url);

            }
              } 


            }
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T14:44:29+00:00Added an answer on June 7, 2026 at 2:44 pm

    You didn’t pass URL to your WebViewActivity. To do that:

    • Before calling startActivity(), attach your URL to the intent with setData().
    • In onCreate() of WebViewActivity, retrieve the URL with getData(), then load it.

    Or search for putExtra(...). You can transfer a number of data with Intent.

    — edited —

    Example:

    To set data:

    import android.net.Uri;
    
    //...
    Intent intent = new Intent (StayActiveActivity.this, WebViewActivity.class);
    intent.setData(Uri.parse("your-url"));
    StayActiveActivity.this.startActivity(intent);
    

    To retrieve data:

    //...
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        //...
        Uri uri = getIntent().getData();
    
        //...
        webView.loadUrl(uri.toString());
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

A search api is returning me some meta data along with a URL eventURL.
I'm importing some tweets using the Search API and get the returning JSON: results:
Is there a search API for getting a short text containing the search terms
I've found a PDF file of Appstore search API, that I can use some
I've found this page about the Twitter search API and some operators : http://search.twitter.com/operators
Using Facebook Search API, I got an response like: data : [ { created_time
Is there a Google Image Search API that will return data in XML format?
I'm trying to use youtube's data api to search where the search term includes
lets say we do some search useing search api then it retuns something like
When I search the same query using the Twitter API returning JSON content and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.