Что касается вашей первой проблемы, вы можете присвоить дополнительные значения новому Intent, используя метод intentname.putExtra("extravalue", value);
перед тем, как создавать Intent.
Затем вы можете прочитать это значение во вновь созданном действии. Я знаю, что довольно ужасно объясняю, но я надеюсь, что вы поняли идею из этого кода, который я взял из приложения, которое я сделал.
ListLinks.java:
// Pass the value of the item URL to the linkviewer when a link is clicked
Intent openLink = new Intent(this, LinkView.class);
openLink.putExtra("url" , item.URL);
startActivity(openLink);
LinkView.java
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.linkview);
Bundle bun = getIntent().getExtras();
String url = bun.getString("url");
Я не совсем уверен, как решить вашу вторую проблему, поэтому, к сожалению, я не могу помочь вам с этим, но я уверен, что кто-то другой мог бы.