संपादन की स्थिति बचाओ

मैं एक साधारण ऐप बना रहा हूं। यहां कोड हैं:

मुख्य एक्सएमएल:



<button
    android:id="@+id/goButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/layout1"
    android:text="@string/go" />

 

    





मुख्य जावा:

    package com.nextgenintl.plusportals;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;

@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends Activity {
    private WebView webView;
    private EditText urlEditText;
    private ProgressBar progress;

    @Override
    public void onBackPressed() {
        if (webView.copyBackForwardList().getCurrentIndex() > 0) {
            webView.goBack();
        }
        else {
           //Your exit alert code, or alternatively line below to finish
            super.onBackPressed();//finishes activity
        }
    }

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

        urlEditText = (EditText) findViewById(R.id.urlField);
        webView = (WebView) findViewById(R.id.webView);
        webView.setWebChromeClient(new MyWebViewClient());

        progress = (ProgressBar) findViewById(R.id.progressBar);
        progress.setMax(100);

        Button openUrl = (Button) findViewById(R.id.goButton);
        openUrl.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View view) {
                String url = urlEditText.getText().toString();
                String urlSchool = "https://www.plusportals.com/"+url;
                urlSchool = urlSchool.replace(" ", "");
                if (validateUrl(url)) {
                    webView.getSettings().setJavaScriptEnabled(true);
                    webView.loadUrl(urlSchool);

                    MainActivity.this.progress.setProgress(0);
                }
            }

            private boolean validateUrl(String url) {
                return true;
            }
        });

    }

    private class MyWebViewClient extends WebChromeClient {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {         
            MainActivity.this.setValue(newProgress);
            super.onProgressChanged(view, newProgress);
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void setValue(int progress) {
        this.progress.setProgress(progress);       
    }
}

इसलिए, मैं उपयोगकर्ता इनपुट - स्कूल का नाम सहेजना चाहता हूं, इसलिए आपको इसे हर बार टाइप करने की आवश्यकता नहीं है। लेकिन मैं वास्तव में इसे समझ नहीं सकता - क्या आप कृपया मेरी मदद कर सकते हैं ??? धन्यवाद अगर आप मुझे पूर्ण जावा फ़ाइल पोस्ट करते हैं।

0

1 उत्तर

आप निम्न का उपयोग कर सकते हैं:

SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("clever_title", urlEditText.getText().toString());
editor.commit();

फिर अगली बार जब आप अपना ऐप खोलें तो आप इसे प्राप्त कर सकते हैं:

 SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
 urlEditText.text(sp.getString("clever_title", null);
0
जोड़ा
हां, मैंने कोशिश की - यह केवल इतना कहता है कि एक डुप्लिकेट विधि है। । । मैं वास्तव में इसका उपयोग कहां करूँगा ??? (उत्तर के लिए धन्यवाद, यद्यपि)
जोड़ा लेखक NEXTGENINTL, स्रोत
धन्यवाद!!!!!! +1
जोड़ा लेखक NEXTGENINTL, स्रोत
जहां भी आप फ़ील्ड को सहेजना चाहते हैं, शीर्ष भाग रखा जाता है, इसलिए जब वे बटन दबाते हैं या टाइपिंग करने के बाद। उपरोक्त आपके कोड से ऐसा लगता है कि इसे अपने ऑनक्लिक() में रखना सबसे अच्छा होगा। दूसरा भाग क्रिएट() पर जा सकता है या जहां आपने कभी भी अपना संपादन टेक्स्ट प्रारंभ किया है। यदि आपको डुप्लिकेट विधि मिलती है तो आप केवल साझा किए गए किसी एक के नाम को बदल सकते हैं या फिर बेहतर तरीके से पुन: उपयोग कर सकते हैं।
जोड़ा लेखक Brianjs, स्रोत