2017-07-10 13 views
0

私は2つ持っていますFragments。 1つのFragmentはその他の質問の間に構成されています。FragmentはAnswersで構成されています。例1人がQuestion(8)をクリックすると、それはItem Noと言うことができ、次のアクティビティに移動し、そのQuestionのAnswer(8)をハイライト表示する必要があります。ハマった。私はあなたに一生懸命に感謝します。 いくつかのコードがあります。質問番号を送信しているか、次のアクティビティと次のアクティビティコードにこの質問番号noを送信しています。これをInterger "a"に保存しました。次のアクティビティではどのようなタイプのIF条件を処理できますか?前のアクティビティのアイテム(リストビュー)をクリックした後、次のアクティビティのアイテム(リストビュー)を強調表示する方法?

最初のアクティビティ

lst.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

      int index = position + 1; 
      Intent it = new Intent(this.getActivity(), NextActivity.class); 
      it.putExtra("Qlist", index); 
      startActivity(it); 


     } 

次のアクティビティ

Intent it = getActivity().getIntent(); 

    int a = it.getIntExtra("Qlist", 0); 

    String result=String.valueOf(a); 

    Toast.makeText(getActivity(), ""+a, Toast.LENGTH_LONG).show(); 

L (SQLiteの使用)(のSQLiteを使用して)最初のアクティビティのistViewアダプタコード

DatabaseAccess db=DatabaseAccess.getInstance(getActivity().getApplicationContext()); 



    List<String> lst; 
    db.open(); 
    lst=db.getexamq(); 
    db.close(); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(ExamQ.this.getActivity(), android.R.layout.simple_list_item_1, lst); 
    lv.setAdapter(adapter); 

次のアクティビティのリストビューアダプタコード

DatabaseAccess db=DatabaseAccess.getInstance(getActivity().getApplicationContext()); 



    List<String> lst; 
    db.open(); 
    lst=db.getexamq(); 
    db.close(); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(ExamA.this.getActivity(), android.R.layout.simple_list_item_1, lst); 
    lv.setAdapter(adapter); 
+0

を追加するには、いくつかのコードを投稿することができますか? –

+0

もう何を持っていますか?私は助けてほしいですが、あなたの側からの仕事の少しが高く評価されます。 – Maantje

+0

私は努力していますが、ポイントは私が実際にどこから始めるべきかを知りたいということです。 ..私は考えてみましょう..... – Uzair

答えて

0
  1. questionIdを移動させるように意図バンドルを使用または質問Noを次のアクティビティに送信する
  2. 質問ListViewのアダプタでは、別のバックグラウンド同様の質問で質問の色を表示します。フェードアニメーションを持つようにバックグラウンドを設定したり、特定のミリ秒数または秒数の後に通常に変更したりすることもできます。

は、すべてのコードREQUIREDはLOT書き込み何か(いくつかのコード)であり、我々はそれが動作しない場合はListViewAdapterに助けることができる

EDIT:SAMPLE FASTカスタムアダプタのCODE

lv.setAdapter(new ArrayAdapter(ExamQ.this.getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, lst){ 
     @Override 
     public View getView(final int position, View convertView, ViewGroup parent) { 
      View v = convertView; 
      final String examQ = lst[position]; 

      if (v == null) { 
       LayoutInflater vi = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       v = vi.inflate(android.R.layout.simple_list_item_1, null); 
      } 

      TextView tv = (TextView) v.findViewById(android.R.id.text1); 
      tv.setText(examQ); 


      if(examQ.equals(result)) { // Unique identifier here 
       v.setBackground(Color.RED); //Some other fancy color here 
      } 
      return v; 
     } 
    }); 

しかし、私はちょうどあなたが各質問の一意の識別子を持っていない発見します。今度は質問文字列を使用して次のアクティビティに渡します

+0

私は次の活動に質問番号を移動することができます。しかし、あなたが私に言うことができます私たちは次の活動のアイテム番号との質問に一致する条件を使用し、それらが一致する場合は、それを強調表示することができますそれはposisibleですか? – Uzair

+0

はい、アダプタコード、xmlとアクティビティコードを入力してください&私は助けることができます –

+0

見てください。コードで私の質問を更新しました。 – Uzair

0

2番目のフラグメントのリストビューで各回答のテキストビューがあるとします。次に、リストビューのアダプタのgetView()の質問IDを2番目のフラグメントで比較できます。あなたの答えが見つかったら、textview.setBackgroundColor()に電話してください。

編集:lv.setAdapter (adapter);後 が

View v = lv.getViewAt(a); 
if(v!=null) 
    v.setBackgroundColor (Color.RED); 
+0

あなたはいくつかのコードで私を説明できますか?私は、次のアクティビティでこの質問Noをチェックする方法を教えてくれるコードはありますか? – Uzair

関連する問題