Okhelp.cz

Recepty, články, nápady, programování. Dříve dum-zahrada, finance, internet a know-how.okhelp.cz Pro lepší výsledky hledání používejte i diakritiku.

EditText.setOnKeyListener not working on maxLines EditText


AD MOB

Check this in XML file if use singleLine
singleLine change to maxLines (1 if singleLine)
declare inputType


        android:maxLines="1"
        android:inputType="text"


397LW NO topic_id




AD

Další témata ....(Topics)


376

4. Fragments Tutorial ArticleFragment.java – Czech language | 4-fragments-tutorial-articlefragment-java-czech-language


Dil 4. ArticleFragment.java
V 1. dílu jsme se něco dozvěděli od XML souborech a typu procesoru pro správný běh Android Studia a emulátoru různých typů zařizení s Androidem.
V 2. dílu jsme rozebrali MainActivity.java
V 3. dílu jsme se zabývali HeadlinesFragment.java


V tomto dílu se podíváme na ArticleFragment.java soubor.
Používáme příklad i zip porojekt z https://developer.android.com/training/basics/fragments/creating.html Pozorně si jej nastudujte.




package com.example.android.fragments;
// knihovna pro nižší verze Androidu
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
// extends Fragment - už nebude obsahovat funkci onCreate jako v Activity
// ale onCreateView
public class ArticleFragment extends Fragment {
    // důležité pro uložení argumentu - argumentů (hodnot)
	// pro obnovení předchozího stavu obsahu obrazovky
	// např. při rotaci zařízení atd.
	final static String ARG_POSITION = "position";
    int mCurrentPosition = -1;

TextView article; // uložen do globální proměnné, v originale
// odchycen v updateArticleView() ale tam vracel NULL

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) {

		// Když je activity znovu vytvořena (např. při rotaci zařízení),
		// obnoví, v našem případě, text článku, jehož pozice 
		// byla uložena pomocí
        // public void onSaveInstanceState(Bundle outState) viz níže
		// důležité zejména pro dual-panel (dva panely vedle sebe)
        if (savedInstanceState != null) {
            mCurrentPosition = savedInstanceState.getInt(ARG_POSITION);
        }

// umístíme, aktivujeme příslušný layout
// zde je zajímavé, že layout můžete měnit.
// Např. při kliknutí na pložku 1 v HeadlinesFragment
// zde můžete ochytit pozici a dle toho zvolit 
// příslušný layout, který chcete zobrazit ve fragmentu 
// ALE pak si musíte pohlídat ID prvků, které bude ten JINÝ
// layout obsahovat

// Oproti originalu odchytíme TextView již zde, v originalu to vyhazovalo chybu 
 View rootView = inflater.inflate(R.layout.vnitrek, container, false);
        article = (TextView) rootView.findViewById(R.id.article);		
        return rootView;
    }

    @Override
    public void onStart() {
        super.onStart();
// Při startu fragmentu, zkontrolujte, zda existují nějaké argumenty 
// předané do fragmentu.
// OnStart() je právě to správné místo, kde to udělat, 
// protože layout s jednotlivými elementy byl již         
// naloděn - aktivován, a můžeme bezpečně použít metody,         
// které potřebují, aby jednotlivá ID elementů layoutu byla již          
// aktivní, použitelná	a nevracela NULL, což by mělo za následek
// pád aplikace	
		
        Bundle args = getArguments();
        if (args != null) {
			// vypsaní obsahu článku pomocí předaného argumentu (pozice) z HeadlinesFragment.java
            updateArticleView(args.getInt(ARG_POSITION));
        } else if (mCurrentPosition != -1) {
			// vypsání článku dle pozice uložené např. při rotaci zařízení
			// mCurrentPosition je definována (odchycena) v onCreateView
            updateArticleView(mCurrentPosition);
        }
    }
/** 
funkce která vypíše obsah článku do TextView. 
Jako parametr int position je pozice položky, 
na kterou bylo kliknuto v ListView v HeadlinesFragment.java
*/
    public void updateArticleView(int position) {
		// na rozdíl od Activity se ve Fragment používá k 
		// získání id ne jen findViewById() 
		// ALE getActivity().findViewById() 
//Tento kod vracel article == NULL , PROTO bylo nutno odchytit TextView
// v onCreateView()
        //TextView article = (TextView) getActivity().findViewById(R.id.article);
        
// vložení textu článku do TextView z Ipsum.java
		// je to pole stringů, kde position je pozice stringu v poli
		// static String[] Articles = {"","",""};
      if (article != null)
                article.setText(Ipsum.Articles[position]);
		
        mCurrentPosition = position;
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

		// Uložení pozice článku - elementu, či jiných argumentů důležitých
		// pro obnovení stavu v onCreateView() např. při rotaci zařízení
        outState.putInt(ARG_POSITION, mCurrentPosition);
// TIP: zde můžeme vždy při rotaci zařízení podstrčit náhodnou pozici
// článku pomocí
// randomNum = minimum + (int)(Math.random() * maximum);
// a vytvořit tak zábavnou hru, například pro náhodné
// vypsání přísloví, či nějakého fyzikálního zákona atd.
// Stačí pak aby uživatel jen pootočil zařízení od 90° a zpět,
// k vypsání nové položky
    }
}
42

Scroll to certain position on application Android example code | scroll-to-certain-position-on-application-android-example-code


ScrollTo(), getTop(), getBottom(), getLeft(), getRight(), ScrollView, LinearLayout Android Java xml example.
How get position of a View.
MainClass.java

/*
public void scrollTo (int x, int y) 
Since: API Level 1 
Set the scrolled position of your view. This will cause a call to onScrollChanged(int, int, int, int) and the view will be invalidated. 

This version also clamps the scrolling to the bounds of our child.

Parameters
x  the x position to scroll to 
y  the y position to scroll to  
  */

// sroll to top of hscrollViewMain
ScrollView hscrollViewMain = (ScrollView)findViewById(R.id.scrollViewMain);
hscrollViewMain.scrollTo(0, 0); // scroll to application top

// get position of a View
EditText hEdit = (EditText)findViewById(R.id.username_edit);
int nY_Pos = hEdit.getTop(); // getBottom(); X_pos  getLeft(); getRight();
// scroll to top of hEdit
hscrollViewMain.scrollTo(0,nY_Pos); 


main.xml


<LinearLayout
    xmlns:android="//schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <ScrollView
        android:id="@*id/scrollViewMain"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical"
            android:paddingTop="5dip"
            android:paddingBottom="13dip"
            android:paddingLeft="20dip"
            android:paddingRight="20dip">
            <TextView
                android:id="@+id/message"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dip" />
            <TextView
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textStyle="bold"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/login_activity_username_label" />
            <EditText
                android:id="@+id/username_edit"
                android:singleLine="true"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:minWidth="250dip"
                android:scrollHorizontally="true"
                android:capitalize="none"
                android:autoText="false"
                android:inputType="textEmailAddress" />
        </LinearLayout>
    </ScrollView>

</LinearLayout>
344

Difference between "@+id/” and "@id/” in Android | difference-between-id-and-id-in-android


Difference between "@+id/” and "@id/” in Android
android:id="@+id/xxx" unique identifier of view
@id/ a reference to the unique identifier

 <TextView
        android:id="@+id/first_element_id"
        .........
 />
    <TextView
        android:id="@+id/second_element_id"
        android:layout_below="@id/first_element_id"
        ..........
 />

126

onSensorChanged Android example | onsensorchanged-android-example


Sensor, getSystemService(), getSensorList(), getDefaultDisplay(), WindowManager,
Surface.ROTATION_0, onAccuracyChanged() Android sample.

public class _MotionActivity extends Activity implements SensorEventListener {
    private float mSensorX;
    private float mSensorY;
    private Display mDisplay;
    private SensorManager sm;
    private PowerManager mPowerManager;
    private WindowManager mWindowManager;
   
    TextView textview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Get an instance of the SensorManager
        sm = (SensorManager) getSystemService(SENSOR_SERVICE);
        if(sm.getSensorList(Sensor.TYPE_ACCELEROMETER).size()!=0){
        	Sensor s = sm.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0);
        	sm.registerListener(this,s, SensorManager.SENSOR_DELAY_NORMAL);
        }

        // Get an instance of the PowerManager
        mPowerManager = (PowerManager) getSystemService(POWER_SERVICE);

        // Get an instance of the WindowManager
        mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
        mDisplay = mWindowManager.getDefaultDisplay();

 
        
        setContentView(R.layout.main);
        textview = (TextView)findViewById(R.id.textView1);
    }
    
    @Override
    public void onSensorChanged(SensorEvent event) {

    	
        if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER)
            return;

        switch (mDisplay.getRotation()) {
            case Surface.ROTATION_0:
                mSensorX = event.values[0];
                mSensorY = event.values[1];
                textview.setText(String.valueOf( mSensorX));
                break;
            case Surface.ROTATION_90:
                mSensorX = -event.values[1];
                mSensorY = event.values[0];
                textview.setText(String.valueOf( mSensorX));
                break;
            case Surface.ROTATION_180:
                mSensorX = -event.values[0];
                mSensorY = -event.values[1];
                textview.setText(String.valueOf( mSensorX));
                break;
            case Surface.ROTATION_270:
                mSensorX = event.values[1];
                mSensorY = -event.values[0];
                textview.setText(String.valueOf( mSensorX));
                break;
        }

    }

	@Override
	public void onAccuracyChanged(Sensor sensor, int accuracy) {
		// TODO Auto-generated method stub
		
	}
	@Override
	protected void onResume() {
		super.onResume();

             if(sm.getSensorList(Sensor.TYPE_ACCELEROMETER).size()!=0){
        	Sensor s = sm.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0);
        	sm.registerListener(this,s, SensorManager.SENSOR_DELAY_NORMAL);
             }
	}

	@Override
	protected void onPause() {
		
		sm.unregisterListener(this);
		super.onStop();
	}       
    
}

4

Read file from URL | read-file-from-url


Read file from URL to array of byte and convert to UTF-8 String Android examle source code.

URL urlLoc = new URL("//myweb.com/myfile.html");
URLConnection conexion = urlLoc.openConnection();
conexion.setConnectTimeout(4000);
conexion.setReadTimeout(1000);
conexion.connect();

// downlod the file
InputStream input = new BufferedInputStream(urlLoc
		.openStream());

StringBuffer responseBuffer = new StringBuffer();
byte[] byteArray = new byte[1024];
while (input.read(byteArray) != -1)
 {   
        String res = new String(byteArray, "UTF-8");
        responseBuffer.append(res);
        byteArray = null;
        byteArray = new byte[1024];
 }

String response = responseBuffer.toString().trim();





Editace: 2017-02-14 14:41:51
Počet článků v kategorii: 397
Url:edittext-setonkeylistener-not-working-on-maxlines-edittext

AD
11 Share
Share
Tweet