- Samsung Galaxy S21 FE 5G - utóirat
- iPhone topik
- Google Pixel 3a teszt - a Nexus szellem-e?
- Google Pixel 3 - egyszerűen nagyszerű
- Huawei P30 Pro - teletalálat
- Samsung Galaxy A54 - türelemjáték
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- Apple Watch Ultra - első nekifutás
- Vodafone mobilszolgáltatások
- Yettel topik
Hirdetés
-
Miniképernyős, VIA-s Epomaker billentyűzet jött a kábelmentes szegmensbe
ph A megfizethető, szivacsokkal jól megpakolt modell ötfajta kapcsolóval és kétféle színösszeállítással/kupakprofillal szerezhető be.
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Olcsó 5G-s ajánlatot nyújt a Realme Indiának
ma Megérkezett a Realme C65 5G, az első készülék a MediaTek Dimensity 6300-zal.
Új hozzászólás Aktív témák
-
veterán
Sziasztok!
Írni akarok egy primitív android appot. Alapötlet az, hogy facebook-kal beloginelsz, és exception-öket lehet a barátaidnak küldeni. Pl jelez az app, hogy "Nagy Béla sent you a ConstraintViolationException". Amire válaszolsz mondjuk egy OutOfMemoryExceptiont. Tennék bele olyat is, hogyha a felhasználó egy megadott földrajzi hely közelébe kerül, akkor kapjon egy exception-t az apptól. Így pl minden reggel a munkában indulhatna egy NullPointerException-nel.
Ide ezt azért írom, mert kellenének még ötletek, hogy minél több API-t használjak fel.
[ Szerkesztve ]
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
sztanozs
veterán
válasz Oppenheimer #3201 üzenetére
wut?
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
veterán
-
sztanozs
veterán
válasz Oppenheimer #3203 üzenetére
Mármint az egész koncepciót nem értem. Ez valami vicces program lenne, vagy mi?
Milyen további funkciók lehetnek? Ha már vicces hibaüzenetek, az alábbi funkciókra biztos lehet valamit kitalálni:
- elemlámpa- geofencing
- wifi keresés
- mobil jel elvesztése
- touch műveletek (too many fingers ontouchscreenkeyboard error megvan?)
- adott program futása (túl sokáig, vagy túl sokszor)mod: Ja most látoma geofencing volt az eredetiben is...
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
veterán
-
zeon.hu
nagyúr
Üdv!
Lehetséges lenne egy olyan applikáció megírása, ami repülőgép üzemmódba való kapcsoláskor a wifit nem kapcsolja ki ?
(Bejövő gsm hívásokat szeretném automatizálóval tiltani a wifi megtartása mellett. Van ugyan megoldás, de azt túl lassú folyamat. )
Ha lehet ilyet, megírni akkor se tudnám, de hátha valaki más#?*@&!
-
veterán
Mi annak az oka, hogy a PreferencesActivity layoutja nem a layout mappában van megadva, hanem az xml-ben? Épp beállítások menüt csinálok, és egyelőre csak egy Facebook logout button-t akarok rátenni, de azt PreferenceScreen xml-be nem lehet betenni. Ezért írok egy normális Activity-t a beállításoknak, bár sejtem, hogy nem ez a konvencionális megoldás. De miért nem?
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
WonderCSabo
félisten
válasz Oppenheimer #3207 üzenetére
Mert az nem layout, hanem még magasabb szintű reprezentáció, illetve preference specifikus paramêterek, konvencionális felépítéssel. Oda nem való az a gomb, de irhatsz hozzà sajàt preference osztâlyt ha akarsz.
-
veterán
válasz WonderCSabo #3208 üzenetére
Akkor hová való az a gomb?
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
Karma
félisten
Teljes mértékben egyetértek, írni is akartam a kérdés után közvetlenül, csak nem jött össze. Annyit tennék hozzá, hogy a Taskernek és az E-Robotnak saját topikja is van fórumon, így a kérdés azonnal felvethető ott.
“All nothings are not equal.”
-
zeon.hu
nagyúr
használok E-robotot, ismerem.
a gond az, hogy voip telefonáláskor szeretném tiltani a bejövő gsm hívásokat, de mivel nem mtk soc, ezért nem megoldható sem a sim slot leválasztás, sem a gsm tiltás (nem találtam eddig működő megoldást). így voip közben a bejövő hívás mindenképpen fókuszba kerül,akkor is, ha tiltom/elutasítom automatikusan, viszont a voip kliensek fókuszból kikerülésekor több parancs is lefut, amiknek csak a valós hívás vége után kellene.
erre lenne megoldás a rep.mód, amit a robot ugyan megold voip hívás indításakor, vissza is kapcsolja a wifit, de elég lassú a folyamat (ugye előbb lekapcsol wifi, gsm, BT, majd wifi vissza).
Tamás, az E-robot fejlesztője se tud jobbat sajnos, a rep.módba nem tud kivételt tenni.#?*@&!
-
WonderCSabo
félisten
válasz Oppenheimer #3209 üzenetére
Miért akarnál te a beállításokban kilépni a facebookról?
-
veterán
válasz WonderCSabo #3213 üzenetére
Mert az appomba Facebook-kal kell belépni, és lehet, hogy a user ki akar majd jelentkezni. Mert miért ne tehetné meg? Tinderből is ki lehet jelentkezni a beállításokban.
Más: szeretném ezt a tanácsot megfogadni, de nem tudom, hogy kéne.
[ Szerkesztve ]
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
Karma
félisten
válasz Oppenheimer #3214 üzenetére
Azért sípol, mert nem használod ki a ListView újrahasznosító mechanizmusát, hanem folyamatosan új Viewkat fújatsz fel. Feltételezem, a warning buborék két findViewById hívást takar.
A tökéletes megoldásnak két lépése van, ebből az első a kritikus.
1) Használd a convertView paramétert! Ha nem null, akkor az egy olyan cella, ami kicsúszott a képből és így nincs rá szükség. Ebben az esetben az új cella létrehozása teljesen felesleges, ezt a viewt kellene bekonfigurálnod az új adatokhoz, megspórolva a példányosítást és a GC-zést.
View rowView = convertView != null
? convertView
: LayoutInflater.from(parent.getContext()).inflate(R.layout.exc_row_layout, parent, false);2) A ViewHolder minta ehhez képest már apróság, a findViewById hívásokat lehet megspórolni vele. Egy olyan custom classról van szó, aminek tagváltozóiba elteszed a TextViewk referenciáit (tehát gyártott viewnként egyszer kell keresni), a holdert pedig beállítod Tagként a cellán. Ha a convertView nem null, akkor elkéred a tagből a holdert, és azonnal írhatod az új adatokat.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
RowViewHolder viewHolder;
if (convertView == null) {
convertView = ... inflate ...;
viewHolder = new RowViewHolder(convertView);
convertView.setTag(viewHolder);
} else {
viewHolder = (RowViewHolder)convertView.getTag();
}
... values tömb ...
viewHolder.bindRow(values[position]);
return convertView;
}
... valahol lejjebb ...
private static class RowViewHolder {
private TextView nameView;
private TextView descView;
public RowViewHolder(View rowView) {
nameView = rowView.findViewById(...);
descView = rowView.findViewById(...);
}
public void bindRow(Exception model) {
nameView.setText(model.getName());
descView.setText(model.getDescription());
}
}[ Szerkesztve ]
“All nothings are not equal.”
-
veterán
-
Karma
félisten
válasz Oppenheimer #3216 üzenetére
Munkatársaim rendszeresen kérdezik; hát nem tudom
Fura gyerek voltam mindig.[ Szerkesztve ]
“All nothings are not equal.”
-
veterán
Ha megváltoznak az adatok, hogyan tudom elérni a fragmentet, amiben a lista van? Jelenleg így épül fel az UI:
MainActivity így néz ki:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.attilapalf.exceptional.ui.main.MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTabStrip
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
</android.support.v4.view.ViewPager>
</RelativeLayout>Tehát ez egy lapozható felület, 3 oldala van. Itt van a MainPagerAdapter kódja:
public class MainPagerAdapter extends FragmentPagerAdapter {
public MainPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new MainFragment();
case 1:
return new ExceptionsFragment();
case 2:
return new FriendsFragment();
default:
return new MainFragment();
}
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Main";
case 1:
return "My Exceptions";
case 2:
return "My Friends";
default:
return "unknown";
}
}
}Az ExceptionsFragment kódja pedig itt van. A notifyDatasetChanged() metódusát szeretném valahogy meghívni a MainActivity throwMeExcClicked(View) metódusban:
private static String makeFragmentName(int viewPagerId, int index) {
return "android:switcher:" + viewPagerId + ":" + index;
}
public void throwMeExcClicked(View view) {
Exception e = Exception.getRandomException();
synchronized (this) {
if (mLocation == null) {
setLocationExceptions.add(e);
} else {
e.setLocation(mLocation);
exceptionPreferences.addException(e);
}
}
String fragmentTag = makeFragmentName(R.id.pager, 1);
FragmentManager fragmentManager = getFragmentManager();
Fragment eFrag = fragmentManager.findFragmentByTag(fragmentTag);
// jó volna valahogy elérni az ExceptionsFragmentet!!!
}https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
Karma
félisten
válasz Oppenheimer #3218 üzenetére
Azt semmiképp se tartom jó ötletnek, hogy a MainActivity közvetlenül ismerje az ExceptionsFragment példányt. Mivel a ViewPager is virtualizál (azaz a ListViewhoz hasonlóan csak a látható vagy szomszédos viewkat tartja életben), elég kusza helyzetek alakulhatnak ki.
Hogy ezt hogyan kerüld el, van pár lehetőség.
Az első a klasszikus jávás Listener minta. Az activityben definiálsz egy Listener interfészt, amit a fragment megvalósít, valamint egy kis ceremóniát, hogy fel lehessen rá iratkozni. A fragment onAttach metódusában regisztrál, onDetachban pedig deregisztrál - ameddig össze van kötve, az activity tud neki jelezni. Mondjuk a konkrét activity osztályt is elfedném akkor már.
ExceptionChangeListener.java:
public interface ExceptionChangeListener {
void onExceptionsChanged();
}ExceptionSource.java:
public interface ExceptionSource {
boolean addExceptionChangeListener(ExceptionChangeListener listener);
boolean removeExceptionChangeListener(ExceptionChangeListener listener);
}MainActivity.java:
public class MainActivity extends AppCompatActivity implements ExceptionSource {
private final Set<ExceptionChangeListener> mListeners = new HashSet<ExceptionChangeListener>();
...
public boolean addExceptionChangeListener(ExceptionChangeListener listener) {
return mListeners.add(listener);
}
public boolean removeExceptionChangeListener(ExceptionChangeListener listener) {
return mListeners.remove(listener);
}
... amikor módosítottad a listát, hívd meg ezt ...
private void notifyListeners() {
for (ExceptionChangeListener listener : mListeners) {
listener.onExceptionsChanged();
}
}
}ExceptionsFragment.java:
public class ExceptionsFragment extends Fragment implements ExceptionChangeListener {
@Override
public void onAttach (Activity activity) {
super.onAttach(activity);
if (activity instanceof ExceptionSource) {
((ExceptionSource)activity).addExceptionChangeListener(this);
}
}
@Override
public void onDetach() {
if (getActivity() instanceof ExceptionSource) {
((ExceptionSource)getActivity()).removeExceptionChangeListener(this);
}
super.onDetach();
}
@Override
public void onExceptionsChanged() {
adapter.notifyDataSetChanged();
}
}Huh, ez elég hosszú lett. A másik kettőbe inkább nem megyek bele így nyilvánosan kód szinten.
A második az lenne, hogy a fragmented onAttach/onDetach időben egy BroadcastReceivert indít el, az activity pedig Intenteket dobál, ha változás van. Ez lehet közvetlenül a sendBroadcast metódussal, vagy LocalBroadcastManagerrel. Lazább csatolás, de elég sok ceremónia.
A harmadik pedig egy event bus bevezetése (pl. Otto), ahol a logika ugyanaz mint a másodikban, csak kevesebb extra kód (eltekintve a lib dependenciától). Én így 2015-ben egyébként ezt az utat javaslom.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Most esett le amúgy, hogy SharedPreferencest használsz az adatok tárolására, így az egész litániámra semmi szükség. Fel tudsz iratkozni az SP változásokra - ha ezt használod a fragment onAttach/onDetachban, kész is vagy.
[ Szerkesztve ]
“All nothings are not equal.”
-
veterán
Huh, köszi ismét a részletes segítséget. Egyébként azt akarom majd megvalósítani, hogy a legutolsó 30 exceptiont tárolom az eszköz SharedPreferences-ében, és ha lejjebb görget a felhasználó, akkor elkezdi fetchelni a többit a szeverről. Ha van neki 1000 exception-je tárolva a szerveren, és elkezd lefelé görgetni, mint állat, akkor mennyit cellát érdemes egyszerre a memóriában tartani?
A fentiek ismeretében melyik megoldást javaslod?
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
veterán
Kicsit más: Custom View-t szeretnék használni ezzel a jó kis API-val, de nem tudom hogyan tudnék a Layoutban lévő TextView-eknek beállítani az értékét. Egy gomb eseménykezelőjében akarok feldobni egy material design-jú dialog albakot, saját layout-tal.
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
WonderCSabo
félisten
válasz Oppenheimer #3214 üzenetére
Bocs, nem ismerem a use-caset, igazad van, nem kéne így tanácsot adnom ezzel kapcsolatban.
Két dolgot tehetsz:
* custom Preference osztály, amiben megírod, hogy benne legyen a Facebook button, majd a preferences.xml fájlba berakod
* nem rakod be az xml-be, hanem addPreferencesFromResorce hívása után kódban hozzáadod a VIew-t.Az első megoldás sztem sokkal szebb.
-
repvez
addikt
Mennyire nehéz csinálni egy olyan aplikációt ami ilyen flowchartot szimulál le?
[link]
Tehát, hogy amikor elágazáshoz érkezik akkor feladja a választási leheőségeket egy gombként és annak megfelelöen kérdez a következő eseményre?Nem pont ezt akarom amia képen van,de valami haszonlót csak egy kicsit több elágazással és válasszal
Még nem programoztam sehol semmiben, ugyhogy az is érdekelne, hogy androidhoz mi kéne ehhez.
-
Karma
félisten
Egyáltalán nem nehéz, ha az alapfogalmakkal tisztában vagy. Ha minden egyes képernyő egy activity vagy fragment, a válaszok alapján meg mindig a megfelelőt indítod, áttekinthetetlen de legalább triviális eredményt kaphatsz. De van még egy pár variáció az általánosabb, szebb megoldásra.
Mondjuk ehhez tudni kell, mi fán terem a Java és mik az Android alkalmazások alapelemei és alapműködései. Nem tudom, ilyen háttérrel hogy lehetne kezdeni. Affinitásod van hozzá legalább? El tudnád magyarázni a probléma megoldását lépésről lépésre egy külföldi kétévesnek?
“All nothings are not equal.”
-
repvez
addikt
Ha az a 2 éves ért angolul és elég értelmes akkor talán menne
DE forditott helyzetre is igaz, hogy számomra is ugy kéne elmagyarázni, hogy megértsem .
Eddg egyszer sikerült C++ ban egy képlet kiszámolós progit sima dosos ablakban karakteres modban futathatót készitenem. a cin és cout parancsok használatával. -
veterán
válasz WonderCSabo #3223 üzenetére
Köszi! Ez a dolog egyelőre el van odázva, de ha megcsinálom a settings menüt, akkor még visszaolvasom ezt a hsz-t.
[ Szerkesztve ]
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
bucsupeti
senior tag
Elérkezett az idő hogy a Play-re töltsek fel egy appot. Olvasok minden félét mindenhol, de igazából nem látom át teljesen ennek az egésznek a folyamatát.
Android Studio-val dolgozom, minden beállítás alapértelmezett.
Eddig amit készítettem APK-t az úgy "terítettem" hogy kimásoltam a projekt apk/build/outputs/apk/app-debug.apk fájlt, átneveztem és ezt adtam oda azoknak akik használják.A kérdésem hogy innen hogyan jutok el a publikálásig. Gondolom kell (kell?) hogy alá legyen írva. Ezután hogyan buildelek? Kell valami egyéb beállítás a gradle-nak? Ha igen akkor mi?
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
bucsupeti
senior tag
válasz Oppenheimer #3230 üzenetére
kösz! Nem tudom miért a signing-nél nézelődtem és nem találtam rá erre... Megvezettem saját magam...
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
bucsupeti
senior tag
Azt meg tudja valaki mondani hogy milyen "relációban" van az AndroidManifest.xml fájlban megadható versionCode és versionName illetve a build.gradle fájlban megadott versionCode és versionName? Ugyan ez érdekel a minSdkVersion és targetSdkVersion tekintetében is.
[ Szerkesztve ]
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
veterán
-
Karma
félisten
válasz Oppenheimer #3234 üzenetére
Retrofit über alles. Nálam a 4R a favorit, és minden új projekt alapja (Retrofit, Retrolambda, Realm és RxJava)
[ Szerkesztve ]
“All nothings are not equal.”
-
veterán
-
veterán
Most, hogy elkezdtem beépíteni mindenféle aszinkron hívásokat az alkalmazásba, felmerült a gondolat, hogyha történik egy aszinkon callback, és abból a callbackból értesíteni akarok különböző lista adaptereket az adataik megváltozásáról (notifyDataSetChanged), akkor azt hogyan tehetem meg ebben a szálban. Elvileg notifyDataSetChanged csak UI szálból hívható meg. Például itt ez a Facebook Graph Request. Ennek az onCompleted callback-je nem a főszálon fut. A benne meghívott onFirstAppStart metódusból szeretnék értesíteni egy adaptert. Ez Otto-val megoldható? Úgy látom ehhez az SO kérdéshez hasonló a problémám, de erre nem érkezett sok válasz.
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
Karma
félisten
válasz Oppenheimer #3238 üzenetére
Megoldható persze, csak a kérdés nem jó. A ThreadEnforcer.ANY konstruktorparaméter is kell hozzá — ez biztosítja, hogy a buszra bármely szálról lehessen üzenetet küldeni —, viszont a szálak közötti átpasszolást neked kell megoldanod. A legegyszerűbb ehhez a Bus osztályból leszármaztatni. Mindjárt megkeresem a megfelelő kódot, csak mobilról nem gyors
Meg is van: [link]
[ Szerkesztve ]
“All nothings are not equal.”
-
veterán
-
WonderCSabo
félisten
-
Karma
félisten
válasz WonderCSabo #3241 üzenetére
Mármint a Guava EventBusról van szó, vagy lemaradtam valamitől?
“All nothings are not equal.”
-
veterán
válasz WonderCSabo #3241 üzenetére
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
WonderCSabo
félisten
válasz Oppenheimer #3243 üzenetére
Aha. Inkább a github repo oldalát nézdd meg az friss. Az annotációkat is támogató, még gyorsabb verzió meg itt.
[ Szerkesztve ]
-
veterán
Ok, ezt nem értem.
public static void testEventBus(final Set<ExceptionChangeListener> exceptionChangeListeners) {
GraphRequest request = GraphRequest.newMyFriendsRequest(accessToken, new GraphRequest.GraphJSONArrayCallback() {
@Override
public void onCompleted(JSONArray jsonArray, GraphResponse graphResponse) {
// request successfully returned
if (graphResponse.getError() == null) {
Log.d("response length: ", Integer.toString(jsonArray.length()));
Set<Friend> friends = new TreeSet<>(new Friend.NameComparator());
for (ExceptionChangeListener listener : exceptionChangeListeners) {
listener.onExceptionsChanged();
}
if (firstStart) {
friendListListener.onFirstAppStart(friends);
} else {
friendListListener.onAppStart(friends);
}
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,picture");
request.setParameters(parameters);
request.executeAsync();
}Facebook doksiból:
executeAsync():
Executes the request asynchronously. This function will return immediately, and the request will be processed on a separate thread. In order to process result of a request, or determine whether a request succeeded or failed, a callback must be specified (see the setCallback.setCallback(Callback) method).This should only be called from the UI thread.
Gombnyomásra meghívom az executeAsync()-et, meghívódik az onCompleted(), abban meghívom notifyDataSetChanged()-et, és nem áll le kivétellel az alkalmazás. Ez a callback a main szálon fut, vagy micsoda? Hogy lehet az?
[ Szerkesztve ]
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
veterán
válasz Oppenheimer #3245 üzenetére
Megnéztem, azon fut, de nem értem miért
https://play.google.com/store/apps/details?id=com.lovemap.lovemapandroid
-
WonderCSabo
félisten
válasz Oppenheimer #3245 üzenetére
Az executeAsync egy AyncTask-ot hoz létre, és az onCompleted metódst a main threaden hívja meg.
-
Benex
senior tag
Sziasztok
Egy számotokra szerintem egyszerű kérdésem lenne, de nekem valamiért nem megy. Csinálni szeretnék egy végtelenül egyszerű böngészőt. webview.loadUrl("http://exampla.hu"); így tökéletesen betölti a webview-om az oldalt , ha így statikusan adom meg neki a címet, de szeretném, ha egy edittextből kapott string alapján töltené be az oldalt, egy gomb lenyomása után. Ez valamiért nem történik meg és még hiba üzenetet se kapok , hogy miért.
Ha tudnátok itt segiteni , vagy valami oldalt belinkelni ami leirja szépen, hogy egy edittextből kapott stringet töltsön be , megköszönném. Már 2 napja probálkozok és valamiért nem jön össze.Előre köszönöm a segítséget.
Proud owner of S21Ultra and Watch 4
-
Benex
senior tag
válasz WonderCSabo #3249 üzenetére
Mielőtt nagyon leszolnátok, ha nagyon nagy butaságot irtam , első böngésző probálkozásom.
public class MainActivity extends Activity {
private WebView webview;
private Button btn;
private EditText url;
private String url_adress;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.url = (EditText)findViewById(R.id.url);
this.url_adress = url.getText().toString();
this.btn = (Button)findViewById(R.id.load_btn);
this.webview = (WebView)findViewById(R.id.webView);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
// webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webview.setWebViewClient(new WebClientClass());
webview.loadUrl("http://www.google.com");
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
webview.loadUrl(url_adress);
}
});
}
}
class WebClientClass extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}Illetve a gomb megnyomása után , a következőt kapom , amire interneten nem találtam olyan választ ami megoldaná
W/BindingManager﹕ Cannot call determinedVisibility() - never saw a connection for the pid: 13458Proud owner of S21Ultra and Watch 4
Új hozzászólás Aktív témák
- Suzuki topik
- Júniusban végre bemutatkozhat az új Gears of War játék
- Luck Dragon: Asszociációs játék. :)
- sh4d0w: Rebel Moon - Ne nézd meg!
- Samsung Galaxy S21 FE 5G - utóirat
- iPhone topik
- Politika
- A Gigabyte is visszaveszi alaplapjainak alapértelmezett tuningját
- Házimozi belépő szinten
- Kempingezés és sátrazás
- További aktív témák...