Android Studio TextView 点击跳转时区选择列表
要实现这个功能,你需要以下步骤:
- 创建一个包含国际时区的列表界面。
- 在点击某个TextView时,启动列表界面。
- 当用户点击任一条时区时,将该时区显示在TextView上。
以下是一个简单的示例代码:
- 创建一个新的Activity用于显示时区列表,命名为TimezoneListActivity。
public class TimezoneListActivity extends AppCompatActivity {
private ListView listView;
private ArrayAdapter<String> adapter;
private String[] timezones = TimeZone.getAvailableIDs();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timezone_list);
listView = findViewById(R.id.listView);
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, timezones);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String timezone = adapter.getItem(position);
Intent intent = new Intent();
intent.putExtra('timezone', timezone);
setResult(RESULT_OK, intent);
finish();
}
});
}
}
- 在你的主Activity中,设置TextView的点击事件,启动TimezoneListActivity。
public class MainActivity extends AppCompatActivity {
private TextView textView;
private static final int REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, TimezoneListActivity.class);
startActivityForResult(intent, REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
if (data != null && data.hasExtra('timezone')) {
String timezone = data.getStringExtra('timezone');
textView.setText(timezone);
}
}
}
}
- 在你的布局文件activity_main.xml中,添加一个TextView。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:text="点击选择时区"
android:layout_centerInParent="true"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true" />
</RelativeLayout>
这样,当用户点击TextView时,会启动TimezoneListActivity,选择时区后会将选择的时区显示在TextView上。
原文地址: https://www.cveoy.top/t/topic/qrj0 著作权归作者所有。请勿转载和采集!