R.id не может быть решен на Android ListActivity - PullRequest
0 голосов
/ 30 августа 2011

Я получаю эту странную ошибку:

  R.id cannot be resolved 

в строках:

 WebView myWebView = (WebView) findViewById(view.R.id.webview);
 myWebView.loadUrl(s);

Я попытался очистить проект и перезапустить его. вот мой код:

public class NewsActivity  extends ListActivity {
 public ReadXML ReadXML=new ReadXML();
 public  ArrayList<String> ynetList =new ArrayList<String>();

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

for(int i=0;i<ReadXML.hadashotListItems.size();i++)
ynetList.add(ReadXML.hadashotListItems.get(i).title+"\n"+ReadXML.hadashotListItems.get(i).pubDate);

      setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, ynetList));
    //  setContentView(R.layout.main);
      ListView lv = getListView();
      lv.setTextFilterEnabled(true);

      lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
          // When clicked, show a toast with the TextView text
        String s=   ReadXML.hadashotListItems.get(position).link;

        WebView myWebView = (WebView) findViewById(view.R.id.webview);
        myWebView.loadUrl(s);
    //


      //Toast.makeText(getApplicationContext(((TextView)view).getText(),Toast.LENGTH_SHORT).show();
        }
      }
      );
    }}

мой код xml: list_item.xml

  <?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="15sp" >
</TextView>


<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

</LinearLayout>

спасибо за помощь!

Ответы [ 3 ]

1 голос
/ 30 августа 2011

Сообщение R.id cannot be resolved означает, что класс R построен неправильно или, по крайней мере, не соответствует вашему файлу list_item.xml, поскольку он определяет id.

Возможные причины:

  • Eclipse потерян и не может правильно построить ваш проект (это иногда случается): попытайтесь очистить и перестроить ваш проект (меню project / clean из Eclipse).

  • Иногда этого тоже недостаточно, поэтому попробуйте

    • очистить свой проект
    • измените ваш AndroidManifest.xml, добавив в него пустой символ
    • Закройте ваш проект в Eclipse
    • Откройте его снова
    • Повторно очистить и собрать его


  • Ваш файл list_item.xml находится не в нужном каталоге. Должен быть в каталоге [project_root]/res/layout

  • У вас проблема с установкой фреймворка Android. Проверьте в меню «Windows / Android SDK и ADT manager» Eclipse, все ли в порядке.

0 голосов
/ 30 августа 2011

попробуйте так

WebView myWebView = (WebView) findViewById(R.id.webview);
0 голосов
/ 30 августа 2011

Это должно быть просто

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

Нет просмотра до R

...