View Full Version : جستجو در وب ویو
darkenerboy
جمعه 14 تیر 1392, 08:20 صبح
سلام به همه
برای جستجو در وب ویو من از کد زیر استفاده میکنم
titleWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
if(searchText!=null && searchText!=""){
int i = titleWebView.findAll(searchText);
Toast.makeText(getApplicationContext(), "Found "+i+" results !", Toast.LENGTH_SHORT).show();
try
{
Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
m.invoke(titleWebView, true);
}
catch (Throwable ignored){}
searchText="";
}
}
});
خیلی خوبه
فقط ستا مشکل داره
یک: اینکه متن فارسی رو درست پیدا نمیکنه
یعنی یک یا دو کرکتر، چپ یا راست رو رنگی میکنه
کد زیر رو اضافه کردم
titleWebView.getSettings().setDefaultTextEncodingN ame("utf-8");
اما بیفایده بود
دو: اولین انتخاب رو با چهار ضلعی تو پر نشون میده باقی رو با چهار ضلعی تو خالی
من میخوام همش رو مثل هم نمایش بده (چهار ضلعی تو پر)
واسه این چیزی پیدا نکردم
سه: تغییر رنگ این چهار ضلعی ها!
تموم شد
با تشکر از همه :قلب:
moh_sen201
چهارشنبه 09 مرداد 1392, 19:50 عصر
میشه یه مثالی بزارید؟
یه لحظه نگاهی به کد بنده بندازید؟
چرا کار نمیکنه؟
package com.search.demo;
import java.lang.reflect.Method;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
WebView mWebView;
private LinearLayout container;
private Button nextButton, closeButton;
private EditText findBox;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView)findViewById(R.id.webView);
mWebView.loadUrl("http://yahoo.com/");
}
private static final int SEARCH_MENU_ID = Menu.FIRST;
@Override
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
menu.add(0, SEARCH_MENU_ID, 0, "Search");
return true;
}
public boolean onPrepareOptionsMenu(Menu menu){
super.onPrepareOptionsMenu(menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case SEARCH_MENU_ID:
search();
return true;
}
return true;
}
public void search(){
container = (LinearLayout)findViewById(R.id.layoutId);
nextButton = new Button(this);
nextButton.setText("Next");
nextButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
mWebView.findNext(true);
}
});
container.addView(nextButton);
closeButton = new Button(this);
closeButton.setText("Close");
closeButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
container.removeAllViews();
}
});
container.addView(closeButton);
findBox = new EditText(this);
findBox.setMinEms(30);
findBox.setSingleLine(true);
findBox.setHint("Search");
findBox.setOnKeyListener(new OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event){
if((event.getAction() == KeyEvent.ACTION_DOWN) && ((keyCode == KeyEvent.KEYCODE_ENTER))){
mWebView.findAll(findBox.getText().toString());
try{
Toast.makeText(MainActivity.this, (findBox.getText()).toString(), 1).show();
Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
m.invoke(mWebView, true);
}catch(Exception ignored){}
}
return false;
}
});
container.addView(findBox);
}
}
darkenerboy
چهارشنبه 09 مرداد 1392, 20:59 عصر
ماشالله به کد
خوب دقیقا چه کاری میخوای بکنی و چه کاری رو انجام نمیده رو لطفا بگو
تا سوالت بهتر درک بشه دوست من
darkenerboy
چهارشنبه 09 مرداد 1392, 21:01 عصر
یک نکته ی مهم
زمانی که یک برنامه رو مینویسی آخرش Shift + Alt + F رو بزن تا کدت مرتب بشه
و خوانایی اون بشتر بشه
اینجوری خطا یابیش هم راحت تر میشه !
moh_sen201
پنج شنبه 10 مرداد 1392, 04:39 صبح
وقتی ویجت وب ویو آدرس سایتی رو باز میکنه
میخام از تو اون سایت محتوای کلمات و یا همون حروف را جستجو کنه
کدش تا جایی که من میدونم درسته
فقط نمیدونم چرا جواب نمیده!
اگه میشه لطف کنید برام پروژه اماده بزارید چوث اونجوری درکش بیشتره!
hamyd_reza
دوشنبه 14 مرداد 1392, 12:29 عصر
----------
darkenerboy
دوشنبه 14 مرداد 1392, 19:55 عصر
کاری نداره
شما یه css توی assets میزاری و توی صفحه های وبت اون رو آدرس میدی
چیزی که من دیدم اینه ولی باید راه های بهتری هم داشته باشه
ولی
من بخاطر یکسری چیز ها نتونستم از این استفاده کنم
الان نسخه 1.4 هستش انشاالله توی نسخه 1.6 این موضوع هم حل میشه که در دست کاره :لبخند:
hamyd_reza
دوشنبه 14 مرداد 1392, 21:30 عصر
----------
abbasalim
دوشنبه 14 مرداد 1392, 23:50 عصر
اگه شما تونستی برای متن فارسی فونت اختصاصی تو وب ویو استفاده کنی من 24 تا صلوات برای سلامتیت میفرستم:لبخند:
دوست عزیز چرا نشه خیلی خوب هم میشه
بنده این کار رو کردم .اگه میخوای کدهاش رو بگم 24 تا صلوات بفرست تا فردا واست بزارم :D (البته تاحالا به این غلظت این کار رو نکردم)
hamyd_reza
سه شنبه 15 مرداد 1392, 04:20 صبح
----------
abbasalim
سه شنبه 15 مرداد 1392, 18:52 عصر
به دلیل استقبال شد 25 تا:لبخند:
داداش لطفا بزار ولی برای اند 4 به بالاباشه ها
آقا بسیار بسیار شرمنده یه نگاه کردم دیدم سورس برنامم رو ندارم (واسه یه سال پیشـتابستون پارسال بود) و اینکه خودم هم کدش حفظ نیستم :افسرده: ولی این امید رو بهتون میدم که امکانش هست :لبخند:
بله بله یافتم فقط یه مشکلی هست (اون موقع هم داشت) داخل اندروید 4 فونت تغییر نمیکنه واسه اندروید 2 اینا کار میکنه (خبر بدی هست میدونم )
http://www.esfandune.ir/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84-_%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%81%D9%88%D9%86%D8%AA/
شما کده اولی داخل فایل html تون بزارین و بعد هم فونت های سه فایلیش رو هم قرار بدین بعد هم با وب ویو اجراش کنید فقط گفتم داخل 4 کار نمیکنه نمیدونم چرا
hamyd_reza
سه شنبه 15 مرداد 1392, 19:43 عصر
----------
abbasalim
چهارشنبه 16 مرداد 1392, 00:35 صبح
جناب زرنگ:لبخند: ما هم کارمونو با آقای معلی شروع کردیم ، گفتم که نمیشه
حالا روش کار میکنیم تا بشه :D تاحالا البته بهش نیاز نداشتم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.