2016-10-23 7 views
-1

私は壁に頭を打つことで、選択されたListViewアイテムに基づいて新しいインテント/フラグメントを開くための動的なクリック可能なボタンを取得しようとしています。私はひどく失敗しました:-)。JSON ListView and Clickable

私は意図的にオープンしていますが、実際のListViewアイテムに関連付けられているインテントを開いていないことを意味するnull値を返しています。誰かが私が間違っているところを指摘してくれますか?

**** **** EDIT

誰もがこの上で私を助けなかったように、私はそれを修正してくださいます。基本的には、Webサーバー(json)から解析されたListViewでVolleyクラスを使用しています。そこから、ユーザーがListView内のエントリをクリックすると、それが独自の一意の画面を開くことを確認しようとしています。私は1000個のインテントを使いこなそうとしています。そのため、新しいインテントのルックアップの一部を解析して、jsonデータベースに照合を照会します。これは効率的な方法ですか?

そうでない場合は、より良い方法がありますか?

、これが最良の方法(私は疑っている)であれば、私は私が持つ問題のコードのビットを持っていているの下:

音楽FRAG:

Song clickedObject = (Song)adapter.getItem(position); 
    Intent intent = new Intent(getActivity(), songIntent.class); 
    intent.putExtra("passTitle", clickedObject.getTitle()); 
    Log.e(clickedObject.getTitle(), "Passing: "); 
    startActivity(intent); 

意図は罰金開き、それを値が渡されるように見えますが、ループが何であるかを私はJSONのルックアップ値が何であるかに文字列を比較しようとしていますされている場合に問題があります:

意向を

for (int i = 0; i < response.length(); i++) { 
     try { 
       JSONObject obj = response.getJSONObject(i); 
       Song song = new Song(); 
       song.setTitle(obj.getString("title")); 
       Song parseTitle = new Song(); 
       parseTitle.getTitle(jsonObject); 

悲しいことに、私はStringオブジェクトを 'song.setTitle(obj.getString( "title"));にあるものと比較することはできません。コードの一部。誰も助けることができますか?

多くのお礼ありがとうございます

+1

ようこそ。コードの関連部分だけを追加してください。皆さんがあなたのものをすべて読んで読むのは難しいです。 – Opiatefuchs

+0

ループの完全なコードを追加してください – xFighter

答えて

0

私はこれに対する回答を整理することができました。クリック値をインテントに渡して、Volleyメソッド(JsonArrayRequest)のバリエーションを実行して、自分が所有していたJSONテキストファイルをループします。私はこの値を渡された値と比較して、それが働いています。

おそらく最高の解決策ではないかもしれませんが、誰も多くのアドバイスを提供していないと考えて、私は今のところこれに行く予定です。