我有两项活动MainActivity
和SecondActivity
。在MainActivity
我列出了10个TextViews
。而且所有这些都是可点击的。我希望在点击其中任何一个SecondActivity
时转到TextViews
,然后第二个Activity
显示有关点击TextView
的文字。
例如:
MainActivity
textViews:
1)梅赛德斯
2)宝马
3)奥迪
4)保时捷
当Mercedes点击时,在SecondActivity
中有关于梅赛德斯和SecondActivity
后退按钮的文字。当宝马点击MainActivity
SecondActivity
时再次打开,但有关宝马的文字。
我希望我能解释一下。
答案 0 :(得分:2)
您可以使用Activity A
和Activity B
bundle
传递到intent
从活动A发送数据
Bundle bundle = new Bundle();
bundle.putString("Datas", brandString);
Intent intent = new Intent(this, ActivityB.class);
intent.putExtras(bundle);
从活动B获取数据
Intent intent= getIntent();
Bundle bundle = intent.getExtras();
if (bundle != null) {
String data = bundle.getString("Datas");
StringBrand = data;
StringBrand = getIntent().getExtras().getString("Datas");
}
答案 1 :(得分:0)
您必须执行两个步骤:
为每个textView添加onClickListener
。
您甚至可以在XML端执行此操作:
<TextView
...
android:onClick="onClick"
android:clickable="true"
/>
您甚至可以通过在Java端的每个TextView上设置onClickListener
来实现
在Java代码上执行以下操作:
private void onClick(View v){
String clickedText = ((TextView)v).text);
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("key", clickedText);
startActivity(intent);
}
现在在ActivityB代码上,您在onCreate
中执行以下操作Intent retrieved = getIntent();
String chosenWord = retrieved.getStringExtra("key");
if(chosenword != null){
switch(chosenWord){
case "BMW":
myTextView.text = "BMW detail text";
break;
...
}
}
希望这有帮助
答案 2 :(得分:0)
MainActivity:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textview = (TextView) findViewById(R.id.bmw);
textview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent (this,SecondActivity.class);
intent.putExtra("data","BMW");
startActivity(intent);
}
});
//similarly send data to next activity
}
}
SecondActivity:
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
Intent intent=getIntent();
String message = intent.getStringExtra("data");
TextView textview = (TextView) findViewById(R.id.textView);
textView.setText(message);
}
}