2016-07-21 18 views
-2

私はアダプタ付きのカスタムリストビューが必要なサンプルプログラムが必要です。リストビュー上のアイテムをクリックすると、別のアクティビティで表示する必要があります。これは意図なしに行う必要があります。インテントを使用せずに、あるアクティビティから別のアクティビティへカスタムリストビューを渡す方法

+0

あなたの選択したアイテムを保存するためにSharedPreferencesまたはSQLiteを使うことができます。 – babadaba

+1

アイテムがリストビューでクリックされ、別のアクティビティで表示されるべきだと言うと、ビュー全体が変更されますか?リストビューは、メインアクティビティの一部として、別のアクティビティまたはフラグメントに表示されていますか?私はさらに明確にする必要があります。 'intent'を使わずにこれを達成するには多くの方法がありますが、それはどこでどのように遷移が起こるか、 –

答えて

0

Shared Preferenceを使用することができます。アイテムストアのいずれかをクリックすると、そのデータが優先され、別のアクティビティで使用されます。

public class ActivityOne extends Activity{ 

    public static ListView list; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.YOUR_LAYOUT); 

     list=(ListView)findViewById(R.id.YOUR_LIST_ID); 


    .................. 
    .................. 
    } 
} 

そして、他の活動の

は以下のようにそれをフェッチ:以下のように一つの活性であなたのArrayListがグローバル作る

0

public class ActivityTwo extends Activity{ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

     ListView list=ActivityOne.list.getListView(); 


     .................. 
     .................. 
    } 
} 
0

あなたがuntent使用したくない場合は、アプリケーションクラスを拡張して作りますリストビューで選択したオブジェクトを保持するプロパティ

//pseudocode 
//Application class 
class GlobalApp extends Application { 

//you need to overirde this method 
public void oncreate(parameter) { 
super.onCreate(parameter); 
} 
public MyClass myObject; // replace MyClass with datatype need 
} 

// In activity where you are handling listview make class variable of type GlobalApp 

GloabalApp app = (GlobalApp) getApplication(); 
//in your item selected method of your list view 

app.myobject = selectedValue 

// In another activity on activity method 
GloabalApp app = (GlobalApp) getApplication(); 
Myclass Selectedobj = app.myobject 

マニフェストファイルあなたのアプリケーションタグにandroid:name属性にvalue = "yourpackagename.GlobalApp"を追加してください。

関連する問題