2015-02-28 4 views
1

У меня есть много кнопок в основном действии, что каждая кнопка ссылается на другую активность, содержащую список, что каждый элемент в списке рассматривает один html-файл, находящийся в папке с активами. В моих кодах я использую один вид деятельности в Интернете для каждого вида деятельности. Как я могу использовать одно и то же действие для просмотра всех видов деятельности. У меня есть восемь различных действий с различными файлами html. и я пытаюсь использовать один веб-просмотр для других, и всегда результат - один html для всего адреса.одинаковый веб-просмотр для разных видов деятельности

одна из моих работ:

public class Dia_Page extends ListActivity { 
public ListView lv; 
public String number_of_keys; 
public String[] values = new String[] {"dia 1", 
     "dia 2","dia 3"}; 

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

    setListAdapter(new MyAdapter(this,android.R.layout.simple_list_item_1,R.id.textView1,values)); 


    lv = getListView(); 
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, final View view, 
      int position, long id) {       
      Intent myIntent = new Intent(Dia_Page.this,Dia_sec.class); 
      myIntent.putExtra("key",position); 
      startActivity(myIntent);  
     } 

    }); 
} 

мой WebView активность:

web2.setWebViewClient(new myWebClient()); 
    web2.getSettings().setJavaScriptEnabled(true); 
    int pos = getIntent().getIntExtra("key", 0); 
    if (pos == 0) { 
     web2.loadUrl("file:///android_asset/dia/diaone.html"); 
    } else if (pos == 1) { 
     web2.loadUrl("file:///android_asset/dia/diatwo.html"); 
    } else if (pos == 2) { 
     web2.loadUrl("file:///android_asset/dia/diathree.html"); 
    } 

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

ответ

0

Я вывешиваю этот ответ на мой вопрос к тем друзьям, которые имеют проблемы, как у меня. в каждой деятельности, которая содержит ListView я поставил эти коды:

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, final View view, 
      int position, long id) {       
      Intent intent = new Intent(getApplicationContext(), Dia_sec.class); 
      switch(position){ 
      case 0 : 
       intent.setData(Uri.parse("file:///android_asset/can/canone.html")); 
       break; 
      case 1 : 
       intent.setData(Uri.parse("file:///android_asset/can/cantwo.html")); 
       break; 
      case 2 : 
       intent.setData(Uri.parse("file:///android_asset/can/canthree.html")); 
       break; 
      // etc 
      } 
      startActivity(intent); 

и в моем WebView «dia_sec» я добавить этот код:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_dia_sec); 
    web2.loadUrl(getIntent().getDataString()); 

я имел около 8 различных видов деятельности, которая содержит свои собственные ListView с различные html-файлы. , и теперь я помещаю код в действие и связываю его со своей страницей веб-просмотра. проблема решена, и теперь у меня есть один веб-просмотр, который я использую для отображения всех html-файлов из разных источников и разных списков просмотров. Спасибо всем тем, кто пытается помочь мне таким образом

0

Попробуйте изменить код в активности веб-просмотра следующим образом. `

String pos=""; 
in = getIntent(); 

web2.setWebViewClient(new myWebClient()); 
web2.getSettings().setJavaScriptEnabled(true); 

pos= in.getStringExtra("key"); 

if (pos.equals("0")) { 
     web2.loadUrl("file:///android_asset/dia/diaone.html"); 
} else if (pos.equals("1")) { 
     web2.loadUrl("file:///android_asset/dia/diatwo.html"); 
} else if (pos.equals("2")) { 
     web2.loadUrl("file:///android_asset/dia/diathree.html"); 
}` 
+0

после смены кода. Я получаю эту ошибку с .getIntExtra («ключ»): метод getIntExtra (String, int) в типе Intent не применим для аргументы (String) –

+0

, затем получите 'pos' в строку и проверьте это в условии if. –

+0

Я отредактировал код для вас. Пожалуйста, проверьте это. –

Смежные вопросы