2017-02-06 5 views
0

私は既にAutoCompleteTextViewを持っており、文字列に書き込むといくつかの提案が表示されています。ヒストリを持つAutoCompleteTextViewの作成方法

しかし、私は彼がユーザーが書いたことを思い出しているのが好きでした。 続く例を参照してください:

Google Search History

これは、これまでの私のコードです:ここでは

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, equipas); 
    AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.editText1); 
    AutoCompleteTextView textView2 = (AutoCompleteTextView) findViewById(R.id.editText2); 
    textView.setAdapter(adapter); 
    textView2.setAdapter(adapter); 

} 

private static final String[] equipas = new String[] { 
     //Insert what the user writes! 
}; 

EDIT

はAutoCompleteTextViewはactivity.xmlにあります。

AutoCompleteTextView Location

EDIT

これは完全なコードです:あなたはadapter.add("value")を呼び出す場合

package com.example.caca_a_frase; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.graphics.Typeface; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.os.Vibrator; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.AutoCompleteTextView; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

import static com.example.caca_a_frase.Opcoes.som; 
import static com.example.caca_a_frase.Opcoes.vibrar; 
import static com.example.caca_a_frase.SplashScreen.player; 
import static com.example.caca_a_frase.Menus.shouldPlay; 

public class Nomes extends Activity { 

private static Button comecar; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_nomes); 

    shouldPlay = false; 

    onClickButtonListener(); 

    findViewById(R.id.fullscreen_content_controls); 
    findViewById(R.id.fullscreen_content); 

    //Atribuir o tipo de letra: 
    Typeface peint = Typeface.createFromAsset(getAssets(), "peinture_freiche.ttf"); 
    TextView equipum = (TextView)findViewById(R.id.editText1); 
    equipum.setTypeface(peint); 
    TextView equipdois = (TextView)findViewById(R.id.editText2); 
    equipdois.setTypeface(peint); 
    //Acaba aqui! 

    //Para ver a lista de nomes que já usaram: 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, equipas); 
    AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.editText1); 
    AutoCompleteTextView textView2 = (AutoCompleteTextView) findViewById(R.id.editText2); 
    textView.setAdapter(adapter); 
    textView2.setAdapter(adapter); 
    //Acaba aqui! 

} 

private static final String[] equipas = new String[] { 
     //Insert what the user writes! 
}; 

@Override 
protected void onPause() { 
     super.onPause(); 
     if (shouldPlay == false){ //A música é parada se o "shouldPlay" for falso! 
      player.pause(); 
     } 
    } 
@Override 
protected void onResume() { 
     super.onResume(); 
     if (shouldPlay == false){ //A música volta a ser tocada de onde estava se o "shouldPlay" for falso! 
      player.start(); 
     } 
     else { 
      shouldPlay = false; 
     } 
    } 

public void onClickButtonListener() { 
    comecar = (Button) findViewById(R.id.btComecar); 
    final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.click); 
    comecar.setOnClickListener(
      new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 

        if (som == true) { 
         mp2.start(); 
         } if (vibrar == true) { 
         Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
         vib.vibrate(100); 
         } 
        //Para ler o texto escrito: 

        EditText equipaum = (EditText) findViewById(R.id.editText1); 
        EditText equipadois = (EditText) findViewById(R.id.editText2); 

        //Acaba aqui! 
        Intent intent = new Intent("com.example.caca_a_frase.Game"); 
        //Para guardar o texto com uma chave para outra atividade: 

        intent.putExtra("equipaum", equipaum.getText().toString()); 
        intent.putExtra("equipadois", equipadois.getText().toString()); 

        //Acaba aqui! 
        shouldPlay = true; 
        startActivity(intent); 
       } 
      }); 

} 
@Override 
public void onBackPressed() { 
    Intent voltar = new Intent("com.example.caca_a_frase.Menus"); 
    shouldPlay = true; 
    startActivity(voltar); 
    } 
} 
+0

https://developer.android.com/guide/topics/search/adding-recent-query-suggestions.html –

+0

これはEditTextである必要があります –

+0

あなたはAutoCompleteTextViewを意味していますか?本当に重要なのか分かりません。 –

答えて

0

equipasは、ArrayListの

にする必要があり、その後、 "値が" ご提案/履歴になります。

+0

クラッシュの問題を修正し、 'adapter.add(" value ")'を追加してテストしました。しかし、今は、私が書いたことを示していない。 –

+0

さて、 'onCreate()の前にアクティビティで利用できないシステムサービスはオートコンプリートテキストビュー –

+0

とは関係がないようです。その問題を修正し、' adapter.add( "value") 'をテストして動作しても、何も表示されません。 –

関連する問題