[英]How to setText in SecondActivity onItemClick
单击项目时,我需要在SecondActivity中设置setText,但是文本必须根据项目而有所不同。 单击项目时出现错误,但它不起作用。 你能告诉我如何将Text从First Activity设置为Second?
第一次活动:
final String[] setP = { "P1", "P2", "P3", "P4", "P5", "P6", "P7", "P8", "P9" };
final ListAdapter theAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, setP);
final ListView theListView = (ListView) findViewById(R.id.theListView2);
theListView.setAdapter(theAdapter);
theListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
String itemPicked = "Selected: " + String.valueOf(adapterView.getItemAtPosition(position));
Toast.makeText(MainActivity.this, itemPicked, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
intent.putExtra("newsId", "1");
MainActivity.this.startActivity(intent);
String chosen = String.valueOf(adapterView.getItemAtPosition(position));
if (chosen == "P1") { // doesn't work
SecondActivity.displayR.setText("EXAMPLE FOR P1");
} else if (chosen.equals("P2")) { // doesn't work
SecondActivity.displayR.setText("EXAMPLE FOR P2");
}
}
});
和SecondActivity:
public static TextView displayR;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recipe);
displayR = (TextView) findViewById(R.id.textR);
}
您需要将所选项目的名称放入Intent,并在Intent的第二个活动中获得其名称,如下所示:
第一次活动
theListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
String itemPicked = "Selected: " + String.valueOf(adapterView.getItemAtPosition(position));
Toast.makeText(MainActivity.this, itemPicked, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
intent.putExtra("newsId", "1");
String chosen = String.valueOf(adapterView.getItemAtPosition(position));
if (chosen == "P1") { // doesn't work
intent.putExtra("name", "p1");
} else if (chosen.equals("P2")) { // doesn't work
intent.putExtra("name", "p2");
}
MainActivity.this.startActivity(intent);
}
});
第二项活动
public static TextView displayR;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recipe);
displayR = (TextView) findViewById(R.id.textR);
String name = getIntent().getStringExtra("name");
displayR.setText(name);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.