ورود

View Full Version : نمایش در webview



javadi3d
شنبه 16 فروردین 1393, 20:03 عصر
سلام
من یک لیست دارم که دارای 50 item میباشد میخواستم روی هر کدوم که کلیک میکنم یک فایل html مجزا را در webview نمایش بده اگه بخواهم برای هر item یک activity درست کنم و از اونجا نمایش بدم خیلی کد برنامه ام شلوغ می شود آیا راهی است که وقتی روی item ها کلیک میکنیم فقط به یک activity متصل بشن و از اونجا نمایش داده بشه ؟

mrtzxxx
شنبه 16 فروردین 1393, 20:34 عصر
وقتی کاربر آیتم رو لمس میکنه یه آی دی بفرسته به اکتیویتی که webview داخلشه داخل فایل جاوا اون اکتیویتی یه دستور switch case بزار و بهش بگو هر آی دی رو که گرفتی کدوم صفحه وب رو باز کنه .

smemamian
شنبه 16 فروردین 1393, 20:42 عصر
بله و راه درست هم همینی هست که خودتون گفتید.
شما باید در جایی که لیست رو (ListView) تعریف کردید
تابع زیر رو فراخوانی کنید :

list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String title,des,date,url ;
Intent intent = new Intent(getActivity(),WebViewActivity.class);
intent.putExtra("TITLE", title);
intent.putExtra("DES", des);
intent.putExtra("DATE", date);
intent.putExtra("URL", url);
startActivity(intent);
}
});

بعد در یک Activity (در اینجا WebViewActivity)که Layout اون می تونه یک WebView باشه،
تابع getIntent() رو فراخوانی کنید (شما می تونید متغیرهای title,des,date,url رو مقدار دهی کنید.) :


Intent intent = getIntent();
String title = intent.getStringExtra("TITLE");

setTitle(title);

String des = intent.getStringExtra("DES");
String date = intent.getStringExtra("DATE");
String url = intent.getStringExtra("URL");

WebView webview = (WebView)findViewById(R.id.webView);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(url);

javadi3d
یک شنبه 17 فروردین 1393, 11:44 صبح
بله و راه درست هم همینی هست که خودتون گفتید.
شما باید در جایی که لیست رو (ListView) تعریف کردید
تابع زیر رو فراخوانی کنید :

list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String title,des,date,url ;
Intent intent = new Intent(getActivity(),WebViewActivity.class);
intent.putExtra("TITLE", title);
intent.putExtra("DES", des);
intent.putExtra("DATE", date);
intent.putExtra("URL", url);
startActivity(intent);
}
});

بعد در یک Activity (در اینجا WebViewActivity)که Layout اون می تونه یک WebView باشه،
تابع getIntent() رو فراخوانی کنید (شما می تونید متغیرهای title,des,date,url رو مقدار دهی کنید.) :


Intent intent = getIntent();
String title = intent.getStringExtra("TITLE");

setTitle(title);

String des = intent.getStringExtra("DES");
String date = intent.getStringExtra("DATE");
String url = intent.getStringExtra("URL");

WebView webview = (WebView)findViewById(R.id.webView);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(url);

وقتی کدهای بالا را وارد می کنم getActivity() را نمیشناسه
چکار کنم؟

smemamian
یک شنبه 17 فروردین 1393, 22:34 عصر
this یا getApplicationContext()