2011-05-22 62 views
0

我一直沒有編程很久,我被困在一個RSS訂閱源問題,我已經編程了一個rss訂閱到我的應用程序,我無法得到URL傳遞給瀏覽器打開我不斷收到geturl上的錯誤並獲取intent行我希望這段代碼執行的是geturl,並在webview中打開鏈接,這是我目前爲止的內容;製作一個RSS訂閱點擊

這是我RssActivity代碼

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    List<JSONObject> jobs = new ArrayList<JSONObject>(); 
    try { 
     jobs = RssReader.getLatestRssFeed(); 
    } catch (Exception e) { 
     Log.e("RSS ERROR", "Error loading RSS Feed Stream >> " + e.getMessage() + " //" + e.toString()); 
    } 

    adapter = new RssListAdapter(this,jobs); 
    setListAdapter(adapter); 
}@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 



    if (position == 2) { 
     adapter.getItem(position).getUrl().toString(); 
      Intent intent = new Intent(this, Webb.class); 

       startActivity(intent);} 
}} 

這是我的網頁視圖;

public class Webb extends Activity ProgressDialog progressBar; public WebView webview; private static final String TAG =「Main」;

@Override 
public void onStart() 
{ 
super.onStart(); 
CookieSyncManager.getInstance().sync(); 

} 




public void onCreate(Bundle savedInstanceState) { 

super.onCreate(savedInstanceState); 

Bundle extras = this.getIntent().getExtras(); 

extras (Intent.putExtra("url", Url)); 

setContentView(R.layout.browser1); 

CookieSyncManager.createInstance(this); 

CookieSyncManager.getInstance().startSync(); 

webview = (WebView) findViewById(R.id.webview); 

webview.loadUrl(getIntent.getStringExtra("url")); 

webview.setWebViewClient(new testClient()); 

webview.getSettings().setJavaScriptEnabled(true); 

webview.getSettings().setPluginsEnabled(true); 
+0

]可能的重複[Making a RSS feed clickable](http://stackoverflow.com/questions/6087470/making-a-rss-feed-clickable) – kcoppock 2011-05-22 16:15:35

回答

1

這取決於你如何顯示您的RSS在飼料

如果您在ListView中顯示出來 - 覆蓋

protected void onListItemClick(ListView l, View v, int position, long id) {} 

方法在列表中的活動

如果在一個按鈕你的layout.xml - 設置按鈕OnClickListener

sendButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      // your code there 
     } 
    }); 

要的WebView使用使用loadURL方法打開URL

webView = (WebView) findViewById(R.id.page_content); 
webView.loadUrl(url); 
+0

嗨Sid,這裏是教程的鏈接我用在哪裏我會放置一切http://automateddeveloper.blogspot.com/2010/08/android-rss-reader-tutorial.html – JonniBravo 2011-05-22 11:33:10

+0

在RssActivity類中添加onListItemClick方法。使用adapter.getItem(position).getUrl()。toString()來獲取url字符串。然後用瀏覽器開始你的活動,將網址放入extras(itent.putExtra(「url」,url))。並在您的瀏覽器活動onCreate方法使用webView.loadUrl(getIntent.getStringExtra(「url」)) – sidslog 2011-05-22 11:47:15

+0

我得到onclick方法的這個錯誤; getUrl方法對於JSONObject類型是未定義的,我也在webview活動 – JonniBravo 2011-05-23 14:17:17

0

首先,你不說你得到了什麼樣的錯誤。這可能會非常有幫助。 其次,我不是在所有的Android的專家,但我檢查了您的代碼,看到您使用方法getIntent()一次和第二次使用的是可變getIntent

webview.loadUrl(getIntent.getStringExtra("url"));

不幸的是我不知道請參閱此變量的定義。

由於您沒有解釋錯誤的詳細信息,所以我認爲這可能是編譯錯誤,因爲您嘗試使用不存在的變量。我的假設是否合理?

+0

是的我相信你的假設是正確的,它說方法geturl對於JSONObject類型是未定義的,我被告知這是如何完成的,所以我認爲我只是把東西放入錯誤的順序,我正在使用這個rss閱讀器; http://automateddeveloper.blogspot.com/2010/08/android-rss-reader-tutorial.html – JonniBravo 2011-05-22 16:48:19