I would use a different command instead of \item:

\documentclass{article}
\usepackage{enumitem}

\newlist{pset}{enumerate}{1}
\setlist[pset]{
  label=Problem \arabic*\protect\thispitem,
  ref=\arabic*,
  align=left
}
\newcommand{\pitem}[1][]{%
  \if\relax\detokenize{#1}\relax
    \def\thispitem{.}%
  \else
    \def\thispitem{ (#1).}%
  \fi
  \item}

\begin{document}

\begin{pset}
\pitem First
\pitem[2.2] Second
\end{pset}

\end{document}


In the label I add a command \thispitem (with \protect so enumitem doesn't interpret it when setting up the environment).

Then \pitem examines the presence of an optional argument and acts consequently: if none is specified, it just prints a period, otherwise a space, the parenthesized argument and the period.



Optional argument to \item in enumitem list
I have an intent-filter defined for my application, which goes like this:

    !-- Accepts URIs that begin with "urban://success” --&gt;
    &lt;data
        android:host="success"
        android:scheme="urban" /&gt;


This deep link seems to be working for other browsers, but for Chrome for android it does not.

The answer I get from the server looks like this:

urban://success?utf8=%E2%9C%93&amp;json=%7B%22status%22%3A%...


Any help will be appreciated.

Best regards.
