要实现这个功能,你可以按照以下步骤进行编写代码:

  1. 在你的布局文件中,添加一个 TextView 组件,用于显示选择的时区。例如:
<TextView
    android:id="@+id/timezoneTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Select Timezone"
    android:clickable="true"
    android:focusable="true" />
  1. 在你的 Activity 中,为 TextView 设置点击事件监听器,并在点击事件中启动一个新的 Activity 用于显示时区列表。例如:
TextView timezoneTextView = findViewById(R.id.timezoneTextView);
timezoneTextView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this, TimezoneListActivity.class);
        startActivityForResult(intent, 1);
    }
});

这里我们使用了startActivityForResult()方法,以便在选择时区后返回结果。

  1. 创建一个新的 Activity 用于显示时区列表。例如,创建一个名为TimezoneListActivity的新 Activity,并在其中显示时区列表。你可以使用一个 ListView 或 RecyclerView 来显示时区列表,具体实现方式取决于你的需求。

  2. 在时区列表 Activity 中,为每个时区项设置点击事件监听器,并在点击事件中将选择的时区返回给上一个 Activity。例如:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        String selectedTimezone = timezoneList.get(position);
        Intent resultIntent = new Intent();
        resultIntent.putExtra('selectedTimezone', selectedTimezone);
        setResult(Activity.RESULT_OK, resultIntent);
        finish();
    }
});

这里我们将选择的时区作为结果通过 Intent 返回给上一个 Activity,并调用finish()方法关闭当前 Activity。

  1. 在上一个 Activity 中,重写onActivityResult()方法来处理返回的结果,并将选择的时区设置到 TextView 中。例如:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) {
        String selectedTimezone = data.getStringExtra('selectedTimezone');
        timezoneTextView.setText(selectedTimezone);
    }
}

这里我们检查 requestCode 和 resultCode 以及传递的数据是否正确,然后从 Intent 中获取选择的时区,并将其设置到 TextView 中。

这样,当你点击 TextView 时,将会打开一个新的 Activity 显示时区列表,选择时区后,选择的时区将会显示在 TextView 上。

Android Studio TextView 点击跳转至时区列表并显示选择结果

原文地址: https://www.cveoy.top/t/topic/qri9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录