2011-08-02 4 views
0

私はアクティビティのリストビュー拡張を作成しました。私は、listviewの中身を押すと、次のレイアウトに行きたい。これで何ができますか?Androidのリストビューでコンテンツを押すときに次のレイアウトに移動します。

+0

質問が不明です。あなたは「次のレイアウトに行く」とは何を呼びますか? – Snicolas

+0

まず、意図とリスナーを覚える必要があります! –

+0

Snicolas、それほど重要ではありません。彼が必要とするものはクリックリスナーです。そして、彼はそれを望みどおりにします。 – Rob

答えて

0

あなたはOnClickListener

public OnClickListener myClickListener = new OnClickListener() { 
public void onClick(View v) {     
//code here that specifies what layout to go to. 
    } 

EDITを使用したいと思うでしょう:私はあなたのためにいくつかのより多くの情報が含まれる場合があり、このSO questionを見つけました。あなたが意図やロード新しいビューについて学びたい場合は、あなたのListAdapterの行ごとにビューを作成するとき

また、あなたはこのtutorial

1

を見てみることができます。ユーザーが行をクリックしたときに呼び出されるOnClickListenerを登録できます。

View view = inflater.inflate(R.layout.favorite_row, null); 
view.setOnClickListener(new View.OnClickListener() { 
    Override 
    public void onClick(View view) { 
     beverageSelected(((FavoriteBeverageView)view.getTag()).getFavoriteBeverage()); 
    } 
}); 
view.setTag(new FavoriteBeverageView(view)); 

setTagとsetIdを使用すると、ユーザーが選択したリスト内のオブジェクトを見つけるのに役立ちます。個人的には、リスト行(たとえばtitleTextView、subtitleTextView、imageなど)内のUI要素を含む特別なオブジェクトを追加し、その特別なオブジェクトのバッキングオブジェクトへのポインタを追加するsetTag()を使用するのが最も簡単だと思います。

上記の例では、FavoriteBeverageViewはその特別なオブジェクトであり、彼の中にはそのリストをバックアップするデータであるFavoriteBeverageオブジェクトがあります。したがって、OnClickListenerでは、(FavoriteBeverageView)view.getTag())。getFavoriteBeverage()を実行するだけで、FavoriteBeverageを簡単に取得できます。

0

スタックを参照してください。 オーバーフローの質問ListView without ListActivity私のアプリケーションからはうまくいくいくつかのコード例があります。

関連する問題