在我的活动中,我有一个HorizontalScrollView
与九个TextViews
和下面我有一个ListView
。如果我点击九个TextViews
中的一个,列表将刷新并显示存储在我的数据库中的一些数据,并且具有与TextView
相同的值(这没有任何问题)。
现在我点击一个ListItem并打开一个新活动。
在这里,我希望TextView
的价值也会发送到新的Activity
。不幸的是,我不知道该怎么做,希望有人能帮助我。
以下是我的代码的一部分:
dataSource = new ArrayList<>();
lvWP.setAdapter(new WPAdapter(this, dataSource));
horiView = (HorizontalScrollView) findViewById(R.id.horiView );
lvWP.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Object element = parent.getAdapter().getItem(position);
if (element instanceof Workpackage){
Workpakage workpackage= (Workpakage ) element;
Intent wp = new Intent(ProjektOverview.this, WorkpackageDetail.class);
String projekt = tvProjectTitle.getText().toString();
wp.putExtra(WorkpackageDetail.WP_KEY, workpackage.getId());
wp.putExtra("DEPARTMENT", department); //THIS SHOULD BE THE STRING FROM tvWKA
wp.putExtra("PROJECTNAME", project);
startActivity(wp);
}
}
});
// HERE I CLICK ON ONE TEXTVIEW FROM THE HORIZONTALSCROLLVIEW
tvWKA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String department= "WKA"; // THIS STRING I WANT TO SEND TO MY LISTVIEW ONCLICKLISTENER
String project= tvProjectTitle.getText().toString();
refreshList(department, projekt);
}
});
public void refreshList(String department, String project) {
dataSource.clear();
dataSource.addAll(WorkpackageDB.getInstance(ProjectOverview.this).readAllAP(department, projekt));
lvWP.invalidateViews();
}
您可以在selectedDepartment
类中拥有像Activity
这样的全局变量,当您单击TextView
时可以填充该变量。
private String selectedDepartment;
tvWKA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectedDepartment = "WKA";
String project = tvProjectTitle.getText().toString();
refreshList(department, projekt);
}
});
然后,您可以将此作为额外添加,同时将意图传递给另一个活动。
wp.putExtra(WorkpackageDetail.WP_KEY, workpackage.getId());
wp.putExtra("DEPARTMENT", selectedDepartment); // Here
wp.putExtra("PROJECTNAME", project);
希望有所帮助!