2016-09-08 2 views
0

私は新しく、URLのリダイレクトに関連する問題に悩まされています。 JSON形式を使ってウェブサイトから「Ids」とそれに対応する「タイトル」と「URL」を抽出し、SQLiteデータベースに保存しました。私は主キーとしてID(オートインクリート)を使用しました。SQLiteのIdを使ってURLを参照する

私は、リストビュー内のすべての「タイトル」を入れて、何を私がしなければならないことは次のとおりです。

タイトルを誰がクリックしたとき、それはそれに対応するURLにリダイレクトする必要があります。私は論理を持っていますが、それを実装するには問題が生じています。

タイトルの位置をクリックした後、そのID(プライマリキー)を使用して特定のURLをデータベースから取り出してリダイレクトすることを考えました。私はそれを実装することができませんでした。 ID、タイトルの位置をlistViewからどのように関連付けるか、そして対応するURLを理解できませんでした。

誰かがこの問題を解決するために助けてください、または解決のためのより良い提案がある場合は、この種の問題について教えてください。

+0

位置は、データベースからのIDではありません。あなたのリストビュー用のアダプタを作成し、それをデータベースのデータで埋めることができます。その後、アイテムを選択した後、アダプタからオブジェクトを取得してURLプロパティを取得できます。 – matejko219

答えて

0

私は、私の意見では、

(など、ゲッター、セッターを追加し、あなたが望むものをクラスに名前を付けて)

public class WebLink { 
    int id; 
    String title, url; 

    public String toString() { return this.title; } 

} 

この形式のプレーンなJavaオブジェクトを作る重要な部分をお勧めしますtoStringメソッドです。これらのオブジェクトをArrayAdapter<WebLink>に読み込む理由は、余分な作業をせずにタイトルを表示するためです。たとえば、android.R.layout.simple_list_item_1レイアウトを使用します。

次に、完全なデータベース行から作成されたこれらのオブジェクトをArraylistに書き込むことができれば、そのオブジェクトをアダプタから取得し、そのデータにすべて直接アクセスできます。

すべてのすべてでは、(一度リストのために、そして再びタイトル/ IDを検索するための)データベースを再度照会しませんリストビューから

+0

arrayAdapterに行全体(id、Aid、title、およびurl)を入れる方法を明確にしてください。ここで指定するものは何ですか? (this、android.R.layout.simple_list_item_1、?) – Manisha

+0

あなたはその疑問符のためにオブジェクトのarraylistが必要です。したがって、データベースから 'ArrayList 'オブジェクトを作成してください。つまり、 'list.add(新しいWebLink(id、title、url))'を呼び出すと、 'ArrayAdapter 'を拡張したカスタムアダプタクラスにそれを貼り付けます。これらの詳細については、[カスタムアダプターの定義方法](https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView#using-a-custom-arrayadapter)をご覧ください。 ) –

+0

または、多分あなたはすべてを必要としないかもしれません...あなたは3番目のパラメータのarraylistが必要です。 –

関連する問題