2017-05-28 82 views
0

我无法搞清楚如何通过一个活动开关传递信息。
我现在有一个活动,我可以将客户端添加到数据库中,我有一个活动来查看所有客户端在ListView。传递信息切换

我想要的是,当用户点击的ListView客户端上为它回到了addClient活动,与所有从数据库中填写的字段。

这里是活动用户观看的客户

public class ViewClientActivity extends Activity 
{ 
    protected void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.viewclient_activity); 

    DBHandler handler = new DBHandler(this, null, null, 1); 
    SQLiteDatabase db = handler.getWritableDatabase(); 
    final Cursor ClientCursor = db.rawQuery("SELECT * FROM clients", null); 
    ListView allClients = (ListView) findViewById(R.id.allClients); 
    final ClientCursorAdapter clientAdapter = new ClientCursorAdapter(this, ClientCursor); 

    allClients.setAdapter(clientAdapter); 

    allClients.setOnItemClickListener(new AdapterView.OnItemClickListener() 
    { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
     { 
      Intent AddClientActivity = new Intent(getApplicationContext(), AddClientActivity.class); 
      startActivity(AddClientActivity); 
     } 
    }); 

} 
} 
+0

请让我知道如果你需要任何额外的信息 – Shawnzey

+0

有你有答案。请让我知道你是否想要更多的解释 – droidpl

+0

谢谢你先生我给了一个镜头 – Shawnzey

回答

0

这是我最终做通我需要

信息
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() 
    { 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
     { 
      IMAGES = imagesPath[0] + "|" + imagesPath[1] + "|" + imagesPath[2] + "|" + 
         imagesPath[3] + "|" + imagesPath[4] + "|" + imagesPath[5]; 

      Intent intent = new Intent(AddClientActivity.this, ImageViewActivity.class); 
      intent.putExtra("IMAGES", IMAGES); 
      intent.putExtra("POSITION", position); 
      startActivity(intent); 
     } 
    }); 
1

你需要让客户端类的信息实现Parcelable类。这样您就可以将这些信息添加到您用于打开第二个活动的Intent中。从第二次活动,您可以通过调用getIntent()

要将Parcelable数据添加到去故意使用intent.putExtra(),并从它使用intent.getParcelableExtra()

+0

如果所有的字段都是内置的,那么它的操作很简单'intent.getStringExtra(键,默认)'字符串:)检查此链接获取更多信息https://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-in-android-应用程序 –

+0

另外,我只是解释完整的对象案例场景:) – droidpl

0

,当他点击一个得到它得到从所获得的束此信息客户端在ListView为它回到了addClient活动,但所有的字段从数据库

填写当“回去”,你正在做一个SELECT *,所以一切都将被选中,并更新合作正确地,假设它已经在数据库中更新了。

你的任务AddClientActivity中存在相应地创建一个new DBHandler和更新数据。

如果你需要传递什么,那将是被点击的行,你可以在ClientCursorAdapter类的getView方法中使用setTag的膨胀视图放的ID。然后,在点击中接收(Long) view.getTag()

另外,请使用getReadableDatabase()为CursorAdapter的