AndroidStudio点击不同的3个textview,进入同一个activity但是显示不同的textview,写代码
时间: 2023-06-14 21:04:29 浏览: 117
同一个TextView不同文字的点击事件 demo
5星 · 资源好评率100%
假设你有三个 TextView 分别是 textView1、textView2 和 textView3,点击它们后都会跳转到同一个 Activity(假设是 DetailActivity),并且需要在 DetailActivity 中显示不同的 TextView。
首先,在布局文件中给每个 TextView 设置一个唯一的 id,例如:
```
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView 1" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView 2" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView 3" />
```
然后,在对应的 Activity 中,可以通过 Intent 传递参数,在 DetailActivity 中根据参数来显示对应的 TextView。具体代码如下:
MainActivity.java:
```
public class MainActivity extends AppCompatActivity {
private TextView textView1;
private TextView textView2;
private TextView textView3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView1 = findViewById(R.id.textView1);
textView2 = findViewById(R.id.textView2);
textView3 = findViewById(R.id.textView3);
textView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
intent.putExtra("textView", "TextView 1");
startActivity(intent);
}
});
textView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
intent.putExtra("textView", "TextView 2");
startActivity(intent);
}
});
textView3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
intent.putExtra("textView", "TextView 3");
startActivity(intent);
}
});
}
}
```
DetailActivity.java:
```
public class DetailActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
textView = findViewById(R.id.textView);
String text = getIntent().getStringExtra("textView");
textView.setText(text);
}
}
```
在 DetailActivity 中获取传递过来的参数,并根据参数来设置对应的 TextView 的文本。注意,这里需要在布局文件中添加一个 TextView(假设它的 id 是 textView),用来显示从 MainActivity 传递过来的参数。布局文件如下:
activity_detail.xml:
```
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp" />
</LinearLayout>
```
阅读全文