CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: carotix con ben 5 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 19 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Come risolvere NullPointerException

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Apr 2011
    Località
    Bologna
    Messaggi
    239
    Smartphone
    Huawei Ascend Y300

    Ringraziamenti
    9
    Ringraziato 95 volte in 36 Posts
    Predefinito

    Come risolvere NullPointerException

    Salve, sto cercando di fare un app in cui c'è una casella di ricerca, ho scritto il codice, ma quando provo a digitare la prima lettera nell' AutoCompleteTextView, mi da un errore (java.lang.NullPointerException) senza specificare che tipo di errore l'ha causato.

    x
     
    1
    public class Search extends Activity{
    2
    AutoCompleteTextView acTV;
    3
    ListView lview;
    4
    5
    String[] first = { "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight",     "Nine", "Ten"};
    6
    7
    String[] second = { "Uno", "Due", "Tre", "Quattro", "Cinque", "Sei", "Sette", "Otto",  "Nove", "Dieci"};
    8
    int textlength = 0;
    9
    ArrayList<String> first_sort = new ArrayList<String>();
    10
    ArrayList<String> second_sort = new ArrayList<String>();
    11
    12
    public void onCreate(Bundle savedInstanceState){
    13
    super.onCreate(savedInstanceState);
    14
    setContentView(R.layout.mains);
    15
    16
    acTV = (AutoCompleteTextView) findViewById(R.id.acTV);
    17
    lview = (ListView) findViewById(R.id.list);
    18
    lview.setAdapter(new MyCustomAdapter(first, second));
    19
    20
    lview.setClickable(true);
    21
    lview.setOnItemClickListener(new OnItemClickListener() {  
    22
    public void onItemClick(AdapterView<?> adapter, View view, int position, long id){  
    23
    24
            Intent intent = new Intent(Search.this,Details.class);
    25
            startActivity(intent);
    26
        }
    27
    {
    28
    }});
    29
    30
    lview.setTextFilterEnabled(true);
    31
    acTV.addTextChangedListener(new TextWatcher(){
    32
    33
    public void afterTextChanged(Editable s){
    34
    }
    35
    36
    public void beforeTextChanged(CharSequence s, int start, int count, int after)
    37
    {
    38
    }
    39
    40
    public void onTextChanged(CharSequence s, int start,
    41
    int before, int count)
    42
    {
    43
    44
    textlength = acTV.getText().length();
    45
    first_sort.clear();
    46
    second_sort.clear();
    47
    for (int i = 0; i < first.length; i++)
    48
    {
    49
    if (textlength <= first[i].length())
    50
    {
    51
    if (acTV.getText().toString().equalsIgnoreCase((String) first[i].subSequence(0, textlength)))
    52
    {
    53
    first_sort.add(first[i]);
    54
    second_sort.add(first[i]);
    55
    }
    56
    }
    57
    }
    58
    59
    lview.setAdapter(new MyCustomAdapter (first_sort, second_sort));
    60
    61
    }
    62
    });
    63
    }
    64
    65
    class MyCustomAdapter extends BaseAdapter{
    66
    67
    String[] data_first;
    68
    String[] data_second;
    69
    70
    {
    71
    72
    }
    73
    74
    MyCustomAdapter(String[] first, String[] second){
    75
    data_first = first;
    76
    data_second = second;
    77
    }
    78
    79
    MyCustomAdapter(ArrayList<String> first, ArrayList<String> second)
    80
    {
    81
    for(int i=0;i<first.size();i++)
    82
    {
    83
    data_first[i] = first.get(i);
    84
    data_second[i] = second.get(i);
    85
    }
    86
    87
    }
    88
    89
    public int getCount()
    90
    {
    91
    return data_first.length;
    92
    }
    93
    94
    public String getItem(int position)
    95
    {
    96
    return null;
    97
    }
    98
    99
    public long getItemId(int position)
    100
    {
    101
    return position;
    102
    }
    103
    104
    public View getView(int position, View convertView, ViewGroup parent)
    105
    {
    106
    107
    LayoutInflater inflater = getLayoutInflater();
    108
    View row;
    109
    110
    row = inflater.inflate(R.layout.listitem_row, parent, false);
    111
    112
    TextView textview = (TextView) row.findViewById(R.id.textView1);
    113
    TextView textview1 = (TextView) row.findViewById(R.id.textView2);
    114
    115
    textview.setText(data_first[position]);
    116
    textview1.setText(data_second[position]);
    117
    118
    return (row);
    119
    120
    }
    121
    }
    122
    }



    Questo è l'errore che mi da:

    26
     
    1
    12-24 02:51:28.761: E/AndroidRuntime(15427): FATAL EXCEPTION: main
    2
    12-24 02:51:28.761: E/AndroidRuntime(15427): java.lang.NullPointerException
    3
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at it.gogle.com.Search$MyCustomAdapter.<init>(Search.  java:111)
    4
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at it.gogle.com.Search$2.onTextChanged(Search.java:85  )
    5
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.widget.TextView.sendOnTextChanged(TextView  .java:6240)
    6
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.widget.TextView.handleTextChanged(TextView  .java:6281)
    7
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.widget.TextView$ChangeWatcher.onTextChange  d(TextView.java:6456)
    8
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.text.SpannableStringBuilder.sendTextChange  (SpannableStringBuilder.java:889)
    9
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.text.SpannableStringBuilder.change(Spannab  leStringBuilder.java:352)
    10
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.text.SpannableStringBuilder.change(Spannab  leStringBuilder.java:269)
    11
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.text.SpannableStringBuilder.replace(Spanna  bleStringBuilder.java:432)
    12
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.text.SpannableStringBuilder.replace(Spanna  bleStringBuilder.java:409)
    13
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.text.SpannableStringBuilder.replace(Spanna  bleStringBuilder.java:28)
    14
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.view.inputmethod.BaseInputConnection.repla  ceText(BaseInputConnection.java:583)
    15
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.view.inputmethod.BaseInputConnection.commi  tText(BaseInputConnection.java:174)
    16
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at com.android.internal.widget.EditableInputConnectio  n.commitText(EditableInputConnection.java:120)
    17
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at com.android.internal.view.IInputConnectionWrapper.  executeMessage(IInputConnectionWrapper.java:247)
    18
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at com.android.internal.view.IInputConnectionWrapper$  MyHandler.handleMessage(IInputConnectionWrapper.ja  va:73)
    19
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.os.Handler.dispatchMessage(Handler.java:99  )
    20
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.os.Looper.loop(Looper.java:123)
    21
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at android.app.ActivityThread.main(ActivityThread.jav  a:4627)
    22
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at java.lang.reflect.Method.invokeNative(Native Method)
    23
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at java.lang.reflect.Method.invoke(Method.java:521)
    24
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at com.android.internal.os.ZygoteInit$MethodAndArgsCa  ller.run(ZygoteInit.java:858)
    25
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at com.android.internal.os.ZygoteInit.main(ZygoteInit  .java:616)
    26
    12-24 02:51:28.761: E/AndroidRuntime(15427):         at dalvik.system.NativeStart.main(Native Method)



    La riga incriminata è questa:
    1
     
    1
    lview.setAdapter(new MyCustomAdapter (first_sort, second_sort));


    Come faccio a risolvere questo errore? Qualcuno saprebbe gentilmente aiutarmi? Grazie mille.

  2.  

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy