我正在尝试根据列表视图列表项单击为文本视图显示不同的文本。目前,我正在创建许多新活动来完成此任务。以下代码就是这种情况之一。有没有简单的方法可以在同一活动(平衡计分卡活动(中显示不同的文本。我不想创建帖子活动。例如,如果列表视图position == 0
单击了项目
R.String.Bsc
必须在平衡计分卡活动中显示。如果position == 1
点击
R.String.Post
必须在平衡计分卡活动中显示。
列表视图类
public class AHSMLS extends AppCompatActivity{
ListView list;
String[] itemname ={
"Degree in Physiotherapy",
"Post Graduate options"
};
Integer[] imgid={
R.drawable.mlsico,
R.drawable.mls
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cp_listview_main_activity);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Physiotherapy");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
ImageView img = (ImageView)findViewById(R.id.thumbnail);
img.setImageResource(R.drawable.physiotherapy);
CustomListAdapter adapter=new CustomListAdapter(this, itemname, imgid);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
if (position == 0) {
Intent intent = new Intent(getApplicationContext(), Bsc.class);
startActivity(intent);
}else if (position == 1){
Intent intent = new Intent(getApplicationContext(), Post.class);
startActivity(intent);
}
}
});
}
}
平衡计分卡活动
public class Bsc extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_multiple_text_view);
TextView tv3 = (TextView)findViewById(R.id.durationtextView);
tv3.setText("•t 3 or 4 Year");
TextView tv4 = (TextView)findViewById(R.id.institutiontextView);
tv4.setText(R.string.bsc);
}
}
发布活动
public class Post extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_multiple_text_view);
TextView tv3 = (TextView)findViewById(R.id.durationtextView);
tv3.setText("•t 3 or 4 Year");
TextView tv4 = (TextView)findViewById(R.id.institutiontextView);
tv4.setText(R.string.Post);
}
}
如果我没答错你的问题。这是你要找的吗?使用此解决方案,您不需要帖子类。您可以使用 Bsc 类更改文本。
列表视图类
public class AHSMLS extends AppCompatActivity{
ListView list;
String[] itemname ={
"Degree in Physiotherapy",
"Post Graduate options"
};
Integer[] imgid={
R.drawable.mlsico,
R.drawable.mls
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cp_listview_main_activity);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Physiotherapy");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
ImageView img = (ImageView)findViewById(R.id.thumbnail);
img.setImageResource(R.drawable.physiotherapy);
CustomListAdapter adapter=new CustomListAdapter(this, itemname, imgid);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Intent intent = new Intent(getApplicationContext(), Bsc.class);
Bundle bundle = new Bundle();
//Add your data to bundle
bundle.putInt("x", position);
//Add the bundle to the intent
intent.putExtras(bundle);
startActivity(intent);
}
}
});
}
}
平衡计分卡活动
public class Bsc extends AppCompatActivity {
TextView tv3;
TextView tv4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_multiple_text_view);
tv3 = (TextView)findViewById(R.id.durationtextView);
tv4 = (TextView)findViewById(R.id.institutiontextView);
//Get the bundle
Bundle bundle = getIntent().getExtras();
//Extract the data…
int stuff = bundle.getInt("x");
if(stuff == 0){
tv3.setText("•t 3 or 4 Year");
tv4.setText(R.string.bsc);
}else if(stuff == 1){
tv3.setText("•t 3 or 4 Year");
tv4.setText(R.string.Post);
}
}
}
因此,您不需要在此处发布活动。祝兄弟好运!
(很抱歉格式蹩脚...仍然没有弄清楚粘贴代码时如何保留缩进(
哎呀....我认为这就是Reaz Murshed试图说的:
public class AHSMLS extends AppCompatActivity{
// START NEW CODE
TextView tv3;
TextView tv4;
// END NEW CODE
ListView list;
String[] itemname ={
"Degree in Physiotherapy",
"Post Graduate options"
};
Integer[] imgid={
R.drawable.mlsico,
R.drawable.mls
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cp_listview_main_activity);
// START NEW CODE
tv3 = (TextView)findViewById(R.id.durationtextView);
tv3.setText("•t 3 or 4 Year");
tv4 = (TextView)findViewById(R.id.institutiontextView);
// END NEW CODE
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Physiotherapy");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
ImageView img = (ImageView)findViewById(R.id.thumbnail);
img.setImageResource(R.drawable.physiotherapy);
CustomListAdapter adapter=new CustomListAdapter(this, itemname, imgid);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
if (position == 0) {
// START NEW CODE
tv4.setText(R.string.bsc);
}else if (position == 1){
tv4.setText(R.string.Post);
// END NEW CODE
}
}
});
}
}