2017-03-08 62 views
0

我想在一个webview中打开一个URL,这个URL与我在JSONArray中获取的URL不同。在Webview中从json数组打开URL

MainActivity类别(我能利用我在我的类创建的getURL方法,其获取的JSON并解析到一个数组获取举杯消息的网址和显示)

@Override 
protected void onPostExecute(Integer result) { 
    final Intent intent = new Intent(getApplicationContext(), WebViewActivity.class); 
    progressBar.setVisibility(View.GONE); 
    if (result == 1) { 
     adapter = new MyRecyclerViewAdapter(MainActivity.this, feedsList); 
     mRecyclerView.setAdapter(adapter); 
     adapter.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(FeedItem item) { 
      Toast.makeText(MainActivity.this, item.getUrl(), Toast.LENGTH_LONG).show(); 
      // Here is what I've tried below but doesn't work 
      String blogUrl = item.getUrl(); 
      Intent intent = new Intent(MainActivity.this, WebViewActivity.class); 
      intent.setData(Uri.parse(blogUrl)); 
      startActivity(intent); 
     } 
     }); 
    } 
} 

这是我的WebViewActivity类

public class WebViewActivity extends AppCompatActivity { 
    public WebView myWebView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_web_view); 
     String url = getIntent().getStringExtra("url"); 
     myWebView = (WebView) findViewById(R.id.webView); 
     myWebView.setWebViewClient(new WebViewClient()); 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     myWebView.loadUrl(url); 
    } 
} 

当点击我的RecyclerView的项目它打开了网页流量的活动,但只是显示一个空白的屏幕,如果我评论说出来,只有它显示了正确的吐司消息会发生什么URL。我究竟做错了什么?

- 编辑 - 我在AndroidManifest定义以及

<activity 
    android:name=".WebViewActivity" 
    android:label="@string/title_activity_web_view" 
    android:parentActivityName=".MainActivity" 
    android:theme="@style/AppTheme"> 
    <meta-data 
     android:name="android.support.PARENT_ACTIVITY" 
     android:value="com.mts2792.fishnews.MainActivity" /> 
</activity> 
+0

您是否已将互联网权限添加到清单中? – Jordan

+0

是的,我添加了<使用权限的android:name =“android.permission.INTERNET”/> –

回答

1

您使用setData把网址中的意图,并尝试使用getStringExtra()从意图得到它在第二个活动的活动。

所以,你应该在第二项活动中使用getData

+0

我不认为这是解决方案,因为它已经提到的问题,正确的URL显示时,他提出它变成吐司。 – Jordan

+0

谢谢,我不能相信我错过了。我知道这一定很简单。 –

+0

@Jordan它实际上工作,虽然它似乎是非常缓慢加载页面这是一个单独的问题(我在Wi-Fi和1GB连接)。 –