2017-08-29 12 views
0

Je n'arrive pas à modifier un TextView en ListView. À l'origine, l'application disposait d'un bouton qui, lorsque vous cliquez dessus, exécute des tests sur un périphérique Bluetooth et affiche les résultats dans une vue texte. J'ai modifié l'application pour contenir deux textviews qui ont les derniers résultats de texte et un fichier xml séparé (connecté avec viewflipper) pour accéder à une deuxième vue qui contient tous les résultats de test, jusqu'à ce que l'utilisateur efface la vue en cliquant sur un bouton. J'ai suivi avec this example et vérifié ce que je suis entré dans la section ArrayAdapter du code, et il semble être ce qui est nécessaire selon le developer's guide, mais je reçois toujours son erreur:Est-ce que ListView peut afficher les éléments TextView qui sont également affichés dans un TextView séparé?

Impossible de résoudre le constructeur « ArrayAdapter (com .example.android.stardustscanner.ScannerFragment, int, java.lang.String) '

Pourquoi ai-je cette erreur?

Mon fichier .java dans lequel je fais tous les changements est très long et contient beaucoup de thins qui ne sont pas pertinents à cette question et qui ne rentre pas dans la boîte à questions, donc je vais essayer de seulement inclure les parties pertinentes. L'erreur est vers le bas avec cette ligne: ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.fragment_bluetooth_scanner, R.id.textView, saveData);

ScannerFragment.java

public class ScannerFragment extends Fragment implements LocationListener { 

    ListView mListView; 




    //page switching things KG 8/24/17 
    private ViewFlipper mViewFlipper; 
    private float lastX; 
    private Button mViewLog; 
    private Button mReturnFlipper; 
    private TextView mShowData; 


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

    } 



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

     return inflater.inflate(R.layout.flipper_holder, container, false);//kg 8/24/17 
    } 

    @Override 
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
     SP = PreferenceManager.getDefaultSharedPreferences(getContext()); 

     mViewFlipper = (ViewFlipper) view.findViewById(R.id.viewFlip); //KG 8/24/17 
     mViewLog = (Button) view.findViewById(R.id.viewLog); //kg 8/24/17 
     mReturnFlipper = (Button) view.findViewById(R.id.flipperReturn); //kg 8/24/17 
     mShowData = (TextView) view.findViewById(R.id.textView) ; //kg 8/25/2017 
     mShowData.setText(readFromFile()); // kg 8/25/2017 

     mPowerOffButton = (Button) view.findViewById(R.id.button_poweroff); 
     mDisconnectButton = (Button) view.findViewById(R.id.button_disconnect); 
     mConnectButton = (Button) view.findViewById(R.id.button_connect); 
     mPresence = (Button) view.findViewById(R.id.button_present); 

     mBattery = (ProgressBar) view.findViewById(R.id.progressBar); 

     mBlinkConnect = (Button) view.findViewById(R.id.button_connectionblink); 
     mBlinkData = (Button) view.findViewById(R.id.button_communication); 
     mClearLog = (Button) view.findViewById(R.id.button_clear_log); 

     mDeviceName = (Button) view.findViewById(R.id.button_devicename); 
     mDeviceSN = (Button) view.findViewById(R.id.button_devicesn); 
     mBatteryPerc = (TextView) view.findViewById(R.id.label_batterypct); 

     mListView = (ListView) view.findViewById(R.id.scanLogView); //kg 8/28/17 

     // mReadingLog = (TextView) view.findViewById(R.id.scanLogView); 
     mReadingLog.setMovementMethod(new ScrollingMovementMethod()); 
     mReadingLog.setText(readFromFile()); 

     telephonyManager = (TelephonyManager)getContext().getSystemService(Context.TELEPHONY_SERVICE); 

     initLocationService(this.getContext()); 

     final ActionBar actionBar = getActivity().getActionBar(); 
     if (null == actionBar) { 
      return; 
     } 
     final Drawable D = getResources().getDrawable(R.drawable.stardust2); 
     actionBar.setBackgroundDrawable(D); 
     actionBar.setTitle(""); 

     //KG 8/24/17 
     mViewLog.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View view){ 
       mViewFlipper.showNext(); 
      } 
     }); 

     mReturnFlipper.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View view){ 
       mViewFlipper.showPrevious(); 
      } 
     }); 

    } 

    private void setupScanner() { 
     Log.d(TAG, "setupScanner()"); 

     // Initialize the send button with a listener that for click events 
     mPowerOffButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       if(isIris) { 
        publishMessage(Constants.COMMAND_POWEROFF_IRIS); 
       } else { 
        publishMessage(Constants.COMMAND_POWEROFF); 
       } 
       mScannerService.stop(); 
      } 
     }); 

     // Initialize the send button with a listener that for click events 
     mDisconnectButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       // Send a message using content of the edit text widget 
       publishMessage(Constants.COMMAND_DISCONNECT); 
       mScannerService.stop(); 
      } 
     }); 

     // Initialize the send button with a listener that for click events 
     mConnectButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       // Send a message using content of the edit text widget 
       publishMessage(Constants.COMMAND_ON_CONNECT); 
      } 
     }); 

     mClearLog.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       // Send a message using content of the edit text widget 
       mReadingLog.setText(""); 
       if(SP.getBoolean("writeToFile", true)) { 
        writeToFile("", "", false); 
       } 
      } 
     }); 


     // Initialize the ScannerService to perform bluetooth connections 
     mScannerService = new ScannerService(getActivity(), mHandler); 
    } 

    private TextView.OnEditorActionListener mWriteListener 
      = new TextView.OnEditorActionListener() { 
     public boolean onEditorAction(TextView view, int actionId, KeyEvent event) { 
      // If the action is a key-up event on the return key, send the message 
      if (actionId == EditorInfo.IME_NULL && event.getAction() == KeyEvent.ACTION_UP) { 
       String message = view.getText().toString(); 
       publishMessage(message); 
      } 
      return true; 
     } 
    }; 


    private final Handler mHandler = new Handler() { 
     @Override 
     public void handleMessage(Message msg) { 
      FragmentActivity activity = getActivity(); 
      switch (msg.what) { 
       case Constants.MESSAGE_STATE_CHANGE: 
        switch (msg.arg1) { 
         case ScannerService.STATE_CONNECTED: 
          setStatus(mConnectedDeviceName); 

          if(mConnectedDeviceName.substring(0, 4).toLowerCase().equals("iris") || mConnectedDeviceName.substring(0, 8).toLowerCase().equals("stardust")) { 
           isIris = true; 

           mPresence.setClickable(true); 
           mPresence.setText("Click to detect taggant"); 
           mPresence.setBackgroundColor(Color.parseColor("#0061ff")); 

           mPresence.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) { 
             readoutStarted = true; 
             publishMessage(Constants.COMMAND_RUN_IRIS); 
            } 
           }); 

           mPowerOffButton.setOnClickListener(new View.OnClickListener() { 
            public void onClick(View v) { 
             publishMessage(Constants.COMMAND_POWEROFF_IRIS); 
             mScannerService.stop(); 
            } 
           }); 
          } else { 
           isIris = false; 
          } 

          if(!isIris) { 
           mPresence.setClickable(false); 
           mPresence.setText("NO TAGGANT DETECTED"); 
           mPresence.setBackgroundColor(Color.parseColor("#ffc4ab")); 

           publishMessage(Constants.COMMAND_ON_CONNECT); 

           timer = new Timer(); 
           timerStarted = true; 
           timer.scheduleAtFixedRate(new TimerTask() { 

            synchronized public void run() { 
             publishMessage(Constants.COMMAND_READDATA); 
            } 

           }, 1000, 1000); 
          } else { 
           if(timerStarted) { 
            timer.cancel(); 
            timer.purge(); 
            timerStarted = false; 
           } 
          } 
          mBlinkConnect.setBackgroundColor(Color.parseColor("#11D901")); 
          break; 
         case ScannerService.STATE_CONNECTING: 
          setStatus("C"); 
          break; 
         case ScannerService.STATE_LISTEN: 
         case ScannerService.STATE_NONE: 
          mBlinkConnect.setBackgroundColor(Color.parseColor("#ff2b0f")); 
          mBlinkData.setBackgroundColor(Color.parseColor("#CCCCCC")); 
          if(timerStarted) { 
           timer.cancel(); 
           timer.purge(); 
           timerStarted = false; 
          } 
          setStatus("D"); 
          break; 
        } 
        break; 
       case Constants.MESSAGE_WRITE: 
        mBlinkData.setBackgroundColor(Color.parseColor("#CCCCCC")); 

        break; 
       case Constants.MESSAGE_READ: 
        mBlinkData.setBackgroundColor(Color.parseColor("#0091FA")); 

        String readMessage = (String)msg.obj; 

        if(isIris) { 
         readIris(readMessage); 
        } else { 
         readNormal(readMessage); 
        } 

        break; 
       case Constants.MESSAGE_DEVICE_NAME: 
        // save the connected device's name 
        mConnectedDeviceName = msg.getData().getString(Constants.DEVICE_NAME); 
        if (null != activity) { 
         Toast.makeText(activity, "Connected to " 
           + mConnectedDeviceName, Toast.LENGTH_SHORT).show(); 
        } 
        break; 
       case Constants.MESSAGE_TOAST: 
        if (null != activity) { 
         Toast.makeText(activity, msg.getData().getString(Constants.TOAST), 
           Toast.LENGTH_SHORT).show(); 
        } 
        break; 
      } 
     } 
    }; 

    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     switch (requestCode) { 
      case REQUEST_CONNECT_DEVICE_SECURE: 
       // When DeviceListActivity returns with a device to connect 
       if (resultCode == Activity.RESULT_OK) { 
        connectDevice(data, true); 
       } 
       break; 
      case REQUEST_CONNECT_DEVICE_INSECURE: 
       // When DeviceListActivity returns with a device to connect 
       if (resultCode == Activity.RESULT_OK) { 
        connectDevice(data, false); 
       } 
       break; 
      case REQUEST_ENABLE_BT: 
       // When the request to enable Bluetooth returns 
       if (resultCode == Activity.RESULT_OK) { 
        // Bluetooth is now enabled, so set up a session 
        setupScanner(); 
       } else { 
        // User did not enable Bluetooth or an error occurred 
        Log.d(TAG, "BT not enabled"); 
        Toast.makeText(getActivity(), R.string.bt_not_enabled_leaving, 
          Toast.LENGTH_SHORT).show(); 
        getActivity().finish(); 
       } 
     } 
    } 





    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.secure_connect_scan: { 
       // Launch the DeviceListActivity to see devices and do scan 
       Intent serverIntent = new Intent(getActivity(), DeviceListActivity.class); 
       startActivityForResult(serverIntent, REQUEST_CONNECT_DEVICE_SECURE); 
       return true; 
      } 
      /*case R.id.insecure_connect_scan: { 
       // Launch the DeviceListActivity to see devices and do scan 
       Intent serverIntent = new Intent(getActivity(), DeviceListActivity.class); 
       startActivityForResult(serverIntent, REQUEST_CONNECT_DEVICE_INSECURE); 
       return true; 
      }*/ 
      case R.id.settings_button: { 
       Intent serverIntent = new Intent(getActivity(), SettingsActivity.class); 
       startActivityForResult(serverIntent, REQUEST_SHOW_SETTINGS); 
       return true; 
      } 
     } 
     return false; 
    } 

    /** 
    * 
    * @param data String 
    * @param append boolean 
    */ 
    private void writeToFile(String data, String uploadData, boolean append) { 
     String root = Environment 
       .getExternalStorageDirectory().toString(); 
     File myDir = new File(root); 
     String fname = "starDust.txt"; 
     String fname2 = "starDust.csv"; 
     File file = new File (myDir, fname); 
     File file2 = new File (myDir, fname2); 
     //if (file.exists()) file.delete(); 
     try { 
      FileOutputStream out = new FileOutputStream(file, append); 
      out.write(data.getBytes(), 0, data.getBytes().length); 
      out.flush(); 
      out.close(); 

      FileOutputStream out2 = new FileOutputStream(file2, append); 
      out2.write(uploadData.getBytes(), 0, uploadData.getBytes().length); 
      out2.flush(); 
      out2.close(); 

      if(mConnectedDeviceName != null) { 
       Log.d(TAG, "Connecting " + SP.getString("server_ip", "") + SP.getString("server_username", "") + SP.getString("server_password", "")); 
       new FTPUploadTask().execute(mConnectedDeviceName, SP.getString("server_ip", ""), SP.getString("server_username", "") , SP.getString("server_password", "")); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    /** 
    * 
    */ 
    private String readFromFile() { 
     String root = Environment 
       .getExternalStorageDirectory().toString(); 
     File myDir = new File(root); 
     String fname = "starDust.txt"; 
     File file = new File (myDir, fname); 
     StringBuilder text = new StringBuilder(); 

     if (file.exists()) { 
      try { 
       BufferedReader br = new BufferedReader(new FileReader(file)); 
       String line; 

       while ((line = br.readLine()) != null) { 
        text.insert(0, line + System.getProperty("line.separator")); 
       } 
       br.close(); 
      } catch (Exception e) { 

      } 
     } 

     return text.toString(); 

    } 


    private void readNormal(String readMessage) { 
     String parsedData[]; 

     if(readMessage.contains(";")) { 

      if(readMessage.equals(";")) { 
       parsedData = bufferedMessage.trim().split(","); 
       bufferedMessage = ""; 
      } else { 
       String partialMessage[] = readMessage.split(";"); 
       bufferedMessage += partialMessage[0]; 
       parsedData = bufferedMessage.trim().split(","); 

       if (partialMessage.length > 1) { 
        bufferedMessage = partialMessage[1]; 
       } else { 
        bufferedMessage = ""; 
       } 
      } 
     } else { 
      bufferedMessage += readMessage.trim(); 
      return; 
     } 

     if(parsedData.length == RESPONSE_SIZE && parsedData[0].equals("U")) { 
      if(parsedData[1].matches("[-+]?\\d*\\.?\\d+")) { 
       if(Integer.parseInt(parsedData[1]) > maxU1 || hitTrigger) { 
        maxU1 = Integer.parseInt(parsedData[1]); 
       } 
      } 
      if(parsedData[2].matches("[-+]?\\d*\\.?\\d+")) { 
       if(Integer.parseInt(parsedData[2]) > maxU2 || hitTrigger) { 
        maxU2 = Integer.parseInt(parsedData[2]); 
       } 
      } 
      if(parsedData[3].matches("[-+]?\\d*\\.?\\d+")) { 
       if(Integer.parseInt(parsedData[3]) > maxU3 || hitTrigger) { 
        maxU3 = Integer.parseInt(parsedData[3]); 
       } 
      } 

      double u1val = Double.parseDouble(parsedData[1]); 
      double u2val = Double.parseDouble(parsedData[2]); 
      double u1u2div = 0; 

      if(u2val > 0) { 
       u1u2div = ((u1val/u2val) * KFactor); 
      } 

      if(parsedData[4].matches("[-+]?\\d*\\.?\\d+")) { 
       mBatteryPerc.setText(parsedData[4] + "%"); 
       mBattery.setProgress(Integer.parseInt(parsedData[4])); 
      } 
     } 

     taggantType = 0; 

     if(maxU1 > Integer.parseInt(SP.getString("maxThreshold", Integer.toString(MAX_TRIGGER)))) { 
      taggantType += 4; 
     } else { 
      taggantType += 0; 
     } 

     if(maxU2 > Integer.parseInt(SP.getString("maxThreshold", Integer.toString(MAX_TRIGGER)))) { 
      taggantType += 2; 
     } else { 
      taggantType += 0; 
     } 

     if(maxU3 > Integer.parseInt(SP.getString("maxThreshold", Integer.toString(MAX_TRIGGER)))) { 
      taggantType += 1; 
     } else { 
      taggantType += 0; 
     } 

     Log.d(TAG, Integer.toString(taggantType)); 
     Log.d(TAG, Boolean.toString(hitTrigger)); 
     Log.d(TAG, bufferedMessage); 

     // Check if hit threshold, if so hitTrigger is enabled. 
     if(taggantType > 0) { 
      savedTaggantType = taggantType; 
      hitTrigger = true; 
      mPresence.setText("VALID TAGGANT DETECTED"); 
      mPresence.setBackgroundColor(Color.parseColor("#11D901")); 
     } else if(taggantType == 0 && hitTrigger) { 
      hitTrigger = false; 
      mPresence.setText("NO TAGGANT DETECTED"); 
      mPresence.setBackgroundColor(Color.parseColor("#ffc4ab")); 

      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
      String currentDateandTime = sdf.format(new Date()); 
      String saveData = 
        "Device: " + mConnectedDeviceName + 
          System.getProperty("line.separator") + 
          "Timestamp: " + currentDateandTime + 
          System.getProperty("line.separator") + 
          "Location: " + latitude + " (lat)/" + longitude + " (lon)" + 
          System.getProperty("line.separator") + 
          "Taggan Type: N" + Integer.toString(savedTaggantType) + 
          System.getProperty("line.separator") + 
          "Phone id: " + telephonyManager.getDeviceId() + 
          System.getProperty("line.separator") + 
          "=========================" + 
          System.getProperty("line.separator"); 

      String csvData = mConnectedDeviceName + "," + 
        currentDateandTime + "," + 
        "\"http://maps.google.com/?q=" + latitude + "," + longitude + "\"," + 
        "N" + Integer.toString(savedTaggantType) + "," + 
        "\"" + telephonyManager.getDeviceId() + "\"" + 
        System.getProperty("line.separator"); 

      mReadingLog.setText(saveData + mReadingLog.getText()); 
      mShowData.setText(saveData); //kg 8/25/17 

      maxU1 = 0; 
      maxU2 = 0; 
      maxU3 = 0; 
      savedTaggantType = 0; 

      if(SP.getBoolean("writeToFile", true)) { 
       writeToFile(saveData, csvData, true); 
      } 
     } 

    } 

    /** 
    * @param readMessage String 
    */ 
    public void readIris(String readMessage) { 
     if(!readoutStarted) { 
      return; 
     } 

     String parsedData[]; 

     if(readMessage.contains(";")) { 
      readoutStarted = false; 
      if(readMessage.equals(";")) { 
       parsedData = bufferedMessage.replaceAll("\n", "").replaceAll(" +", " ").trim().split("\\*"); 
       bufferedMessage = ""; 
      } else { 
       String partialMessage[] = readMessage.replaceAll("\n", "").replaceAll(" +", " ").trim().split(";"); 
       bufferedMessage += partialMessage[0].trim(); 
       parsedData = bufferedMessage.replaceAll("\n", "").replaceAll(" +", " ").trim().split("\\*"); 
       bufferedMessage = ""; 
      } 
     } else { 
      bufferedMessage += readMessage.trim().replaceAll("\n", "").replaceAll(" +", " "); 
      return; 
     } 

     Log.d(TAG, Arrays.toString(parsedData)); 

     boolean passed = false; 
     int v1 = 0; 
     int v2 = 0; 
     if(parsedData[3].equals("S")) { 
      passed = true; 
      String values[] = parsedData[7].split("\\s+"); 
      v1 = Integer.parseInt(values[0].replaceAll("[\\D]", "")); 
      v2 = Integer.parseInt(values[values.length-1]); 
     } else { 
      Log.d(TAG, Arrays.toString(parsedData)); 
      String values[] = parsedData[5].split("\\s+"); 
      v1 = Integer.parseInt(values[0].replaceAll("[\\D]", "")); 
      v2 = Integer.parseInt(values[values.length-1]); 
     } 
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
     String currentDateandTime = sdf.format(new Date()); 
     String saveData = 
       "Device: " + mConnectedDeviceName + 
         System.getProperty("line.separator") + 
         "Timestamp: " + currentDateandTime + 
         System.getProperty("line.separator") + 
         "Location: " + latitude + " (lat)/" + longitude + " (lon)" + 
         System.getProperty("line.separator") + 
         "Phone id: " + telephonyManager.getDeviceId() + 
         System.getProperty("line.separator") + 
         "Valid:" + (passed ? "YES" : "NO") + 
         System.getProperty("line.separator") + 
         "Values: " + "T" + v1 + "/" + v2 + 
         System.getProperty("line.separator") + 
         "=========================" + 
         System.getProperty("line.separator"); 

     String csvData = mConnectedDeviceName + "," + 
       currentDateandTime + "," + 
       "\"http://maps.google.com/?q=" + latitude + "," + longitude + "\"," + 
       "Valid: " + (passed ? "YES" : "NO") + " - " + "T" + v1 + "/" + v2 + Integer.toString(savedTaggantType) + "," + 
       "\"" + telephonyManager.getDeviceId() + "\"" + 
       System.getProperty("line.separator"); 

     ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.fragment_bluetooth_scanner, R.id.textView, saveData); 
     mListView.setAdapter(arrayAdapter); 
     mReadingLog.setText(saveData + mReadingLog.getText()); 
     mShowData.setText(saveData); //kg 8/25/17 

     if(SP.getBoolean("writeToFile", true)) { 
      writeToFile(saveData, csvData, true); 
     } 
    } 
} 

J'ai trois fichiers XML associés à ce problème, mais à cause de l'espace je ne l'inclure celui qui contient le ListView et supprimez les autres boutons.

view_list.xml contains the ListView: 

    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:orientation="vertical" 
        android:id="@+id/viewList" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="center_horizontal" 
      android:paddingLeft="4dp" 
      android:paddingRight="4dp" 
      android:visibility="visible"> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:id="@+id/listview_holder" 
        android:layout_alignParentTop="true" 
        android:layout_alignTop="@id/button_holder" 
        android:layout_weight=".1" 
        android:layout_height="wrap_content"> 


        <ListView 
         android:id="@+id/scanLogView" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         android:maxLines="4096" 
         android:scrollbars="vertical" 
         android:text="@string/app_name" 
         android:textAppearance="?android:attr/textAppearanceSmall"/> 

       </LinearLayout> 

     </RelativeLayout> 


    </LinearLayout> 
+0

pouvez-vous montrer fragment_bluetooth_scanner.xml? –

+0

@ NguyễnTrungHiếu désolé, j'ai répondu plus tôt, mais pour une raison quelconque, il n'a pas posté. Je ne peux plus insérer de caractères dans la boîte à questions. J'ai compris que l'erreur était avec ArrayAdapter, spécifique avec 'this', j'ai fait des changements et il n'y a pas d'erreurs avec la construction, mais il ajoute seulement un élément à la liste maintenant. Je ne suis pas sûr de ce qui se passe mais j'ai ouvert une nouvelle question pour ce problème. –

Répondre

0

L'erreur était avec ArrayAdapter. J'ai changé le decloration de

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, 
R.layout.fragment_bluetooth_scanner, R.id.textView, saveData); 

à

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 
android.R.layout.simple_list_item_1, android.R.id.text1, listItems); 

Il construit maintenant le projet et affiche le listview.