2017-06-06 7 views
-1

JSONを使用して、Webサーバーからデータアイテムのタイトルと説明を取得します。私はそれを解析する方法を知っている、カスタムアダプタを使用して、タイトルのみのリストビューを設定する。私は新しいアクティビティを開き、クリックされたアイテムのタイトルと説明を表示したい。このリストビューを設定するために新しいカスタムアダプタを作成する必要がありますか?アクティビティのこの側面から何を渡すべきですか、それを相手側でどのように受け取るのですか?前もって感謝します。タイトルリストをクリックするとタイトルと説明が表示されます。android

displayTitleAdapter = new DisplayTitleAdapter(this, R.layout.rowlayout); 
    listView = (ListView)findViewById(R.id.listviewfinal); 
    listView.setAdapter(displayTitleAdapter); 
    listView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

     } 
    }); 

これは私が私のためにそれをやったか、私のアダプタクラスのGetViewメソッド

public View getView(int position, View convertView, ViewGroup parent) { 
    View row; 
    row = convertView; 
    ReqHolder reqHolder; 
    if(row == null){ 
     LayoutInflater layoutInflate = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     row = layoutInflate.inflate(R.layout.rowlayout, parent, false); 
     reqHolder = new ReqHolder(); 

     reqHolder.Title = (TextView)row.findViewById(R.id.title_title); 
     reqHolder.Requirement = (TextView)row.findViewById(R.id.req_req); 

     row.setTag(reqHolder); 
    } 
    else{ 
     reqHolder = (ReqHolder)row.getTag(); 
    } 
    //Requirements is the model class with getter and setter methods for Fields Title and Requirement. 
    Requirements requirements = (Requirements) this.getItem(position); 
    reqHolder.Title.setText(requirements.getTitle()); 
    reqHolder.Requirement.setText(requirements.getRequirement()); 
    return row; 
} 

static class ReqHolder{ 
    TextView Title; 
    TextView Requirement; 
} 

}ここで

答えて

0

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       Object o = listView.getItemAtPosition(position); 
       UserConnected str=(UserConnected) o;//As you are using Default String Adapter 
       Toast.makeText(getBaseContext(),str.getPrenom(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
+0

私はこのメソッドを使ってシリアライズされたクラスと@ dh19のメソッドを受け取ってそれを受け取りました!ありがとうございました。 – Wagari

+0

あなたは大歓迎です – Mohamed

0

は、あなたのモーダルクラスがSerializableを実装していることを確認してくださいです。

MainActivity:私の主な活動で

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      Intent i = new Intent(getApplicationContext(),Main2Activity.class); 
      i.putExtra("Question",questionArrayList.get(position)); 
      startActivity(i); 
     } 
    }); 

は、私は私のリストビューにアイテムをクリックリスナーを設定し、意図クラスを使用して活動を開始します。私の次のクラスでは

私は意図(質問)に入れてオブジェクトを取得ANS私はAcitvity 2私のモーダルクラスから

をゲッターとセッターを使用してテキストを表示します。

public class Main2Activity extends AppCompatActivity { 
@Override 
public void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activitiy_main2); 
    Question q = (Question) getIntent().getSerializableExtra("Question"); 

    TextView yourAnswer= (TextView)findViewById(R.id.title); 
    TextView correctAnswer = (TextView)findViewById(R.id.description); 

    yourAnswer.setText(q.getYourAnswer()); 
    correctAnswer.setText(q.getCorrectAnswer()); 
} 
} 

これがあなたを助けてくれることを願っています!のは、良い作品

+0

どうもありがとう!出来た! – Wagari

関連する問題