На первой вкладке у меня есть вид списка, из которого я извлекаю строку, а на второй вкладке у меня есть вид текста. Когда я нажимаю на элемент в списке, я должен перейти на вторую вкладку, и значение строки должно отображаться в текстовом представлении.
public static String mystring;
protected void onListItemClick (ListView l, View v, int position, long id){
super.onListItemClick(l, v, position, id);
mystring = listofHashMap.get(position).get("keyname").toString(); //it's ok here
Intent intent=new Intent(this, MyActivity.class);
startActivity(intent);
}
Приведенный выше код (помещенный в ListViewActivity) - это то, что я пробовал, и оно работает (но MyActivity больше не является содержимым табуляции, это полноэкранное автономное действие), имея следующий фрагмент кода в MyActivity:
tv = (TextView)findViewById(R.id.tvid);
lv = new ListViewActivity();
tv.setText(lv.mystring);
Но, как я уже сказал, я хочу, чтобы MyActivity был вкладкой, поэтому я попробовал это:
public MyTabActivity taba = new MyTabActivity();
protected void onListItemClick (ListView l, View v, int position, long id){
super.onListItemClick(l, v, position, id);
mystring = listofHashMap.get(position).get("keyname").toString();
int i=1;//the tab where I want to go, and MyActivity is its content
taba.ChangeTab(i);
}
ChangeTab () - это статический метод в MyTabActivity (действие, расширяющее TabActivity), который просто выполняет setCurrentTab (i) .
Таким образом, MyActivity всегда будет отображать имя первого нажатого элемента, даже тогда я выбираю другие элементы в списке. Я верю, что мне нужно сделать setContent () снова для MyActivity или что-то сделать с этим static String mystring , я пробовал много решений, но безрезультатно. Я старался быть максимально точным в том, что я хочу сделать, помогите, пожалуйста, по этому вопросу.