1

このためのコードはまだ書いていませんが、カスタム Web ブラウザーにブックマークを実装する方法を研究しています。私が読んだことから、行く方法はユーザーにダイアログを表示することだと思います(ダイアログから値を返す方法については、この記事を見ました)、ブックマークのListViewを含むと思います...私は'正直なところ、ブックマークをユーザーに提示して選択する方法という非常に単純なことに行き詰まっています。

だから、私の質問はどこですか:

  1. ユーザーにリストを表示し、リストを選択させるための「ベストプラクティス」は何ですか?
  2. ダイアログの「ベストプラクティス」でこれを行っていますか?

ありがとう。

4

3 に答える 3

3

リストを含むダイアログを表示し、ユーザーの選択時にブラウザーまたは webview に移動するのが最善です。

以下のコードを使用して、ユーザーにダイアログを表示できます::

String[] yourarraylist = new String[]{"A","B","C","D","E","F","G"};
AlertDialog.Builder builder = new AlertDialog.Builder(YourActivity.this);
builder.setTitle("title");
builder.setSingleChoiceItems(yourarraylist, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
    Toast.makeText(getApplicationContext(), yourarraylist[item], Toast.LENGTH_SHORT).show();
    //launch web browser or webview 
    alert.dismiss();
    }
});
alert = builder.create();
alert.show();

以下のように Web ブラウザを起動できます::

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);

また、webview で URL を開くには、このLINKで私のブログを参照できます。

于 2012-04-25T03:24:03.980 に答える
3

これを行う古典的な方法 (3.0 より前) は、現在のアクティビティで管理する単純なダイアログを使用することです。最も簡単な方法は、AlertDialogBu​​ilder を使用してダイアログを作成することです。こちらの中央あたりの「リストの追加」セクションを参照してください。このようにして、リストを含むダイアログを取得し、ユーザーはそのリストから正確に 1 つのエントリを選択できます。

ただし、最近では、(そうではない)新しい Fragment フレームワークでDialogFragmentsを使用する必要があります。公式の互換性ライブラリを使用して、古い Android ビルドでフラグメントを機能させることができます。DialogFragment では、onCreateView(...) コールバックをオーバーライドする場合に任意の UI レイアウトを表示するか、「onCreateDialog(...)」コールバックを使用して外観と動作を定義できます (AlertDialogBu​​ilder を使用できます)。ここでも)。例については、リンクを参照してください。

DialogFragment ベースのソリューションはより自己完結型であり、アプリケーションの任意の場所から簡単に呼び出し/表示できます。

はい、この種の状況では、単一選択のリストベースのダイアログが「ベストプラクティス」と見なすことができると思います。ただし、DialogFragment ベースのソリューションのもう 1 つの利点は、ダイアログ スタイルで表示する必要がないことです。必要に応じて、標準フラグメントとしてアクティビティのレイアウトに埋め込むこともできます。

于 2012-04-18T19:03:26.343 に答える
2

ダイアログを使用するのではなく、個人的に別のアクティビティを使用してブックマークを表示します。ユーザーは多数のブックマークを保存することができ、ダイアログは最善の方法ではないと思います。

ListViewを拡張してブックマークをリストに表示する、またはブックマークのサムネイルを使用したグリッドビューを表示する別のアクティビティを作成します。次に、ブックマークをクリックすると、メインアクティビティに戻り、選択したブックマークでブラウザが更新されます。

長押しクリックまたはコンテキストメニューを作成してブックマークを削除/編集/..するためのダイアログを表示する場合を除いて、ダイアログは必要ありません。

alertdialog.builderは、ダイアログを作成するための最も速くて簡単な方法です。alertdialog.builderを使用してダイアログを作成するためのもう1つのヒントとして。ビルダーには、ダイアログに必要なビューを提供するためのsetviewがあります。このビューは、基本的にlinearLayoutであり、すでに含まれているビューが失われ、複雑なダイアログビューが作成されます。

final AlertDialog.Builder ad = new AlertDialog.Builder(this);
ad.setTitle(getResources().getString(R.string.dialog_title));
ad.setView(dialogLayout);
于 2012-04-23T12:55:19.057 に答える