月月月月红 2015-05-03 06:34 采纳率: 0%
浏览 743

Android手机通讯录,如何在自带的返回键和menu之间添加联系人按钮/最近通话记录按钮

现在的效果!
期望的效果
要做成期望的效果,要怎么写呀,调用哪些方法?求会的人写个实例可好

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 19:05
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你可以使用以下步骤来实现你的需求:

    1. activity_main.xml中为返回键创建一个按钮。例如:
    <Button
        android:id="@+id/back_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Back" />
    
    1. activity_main.java中,你需要处理这个按钮点击事件。
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button backButton = findViewById(R.id.back_button);
    
            backButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    finish();
                }
            });
        }
    }
    
    1. 为了显示最近通话记录,你可以在activity_main.xml中为菜单栏创建一个按钮。例如:
    <Button
        android:id="@+id/menu_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Menu" />
    
    1. activity_main.java中,你需要处理这个按钮点击事件。
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        Button menuButton = findViewById(R.id.menu_button);
    
        menuButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, RecentCallsActivity.class);
                startActivity(intent);
            }
        });
    }
    
    1. 最后,你需要创建一个名为RecentCallsActivity的新活动,并在其中显示最近通话记录。
    public class RecentCallsActivity extends AppCompatActivity {
    
        private ListView recentCallsListView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_recent_calls);
    
            recentCallsListView = findViewById(R.id.recent_calls_list_view);
    
            // 获取最近通话记录的数据源
            List<String> recentCalls = getRecentCalls();
    
            // 创建适配器并设置到列表视图
            ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.list_item_recent_call, R.id.call_number, recentCalls);
            recentCallsListView.setAdapter(adapter);
    
            // 设置列表视图的点击监听器
            recentCallsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    String callNumber = (String) parent.getItemAtPosition(position);
                    Intent intent = new Intent(RecentCallsActivity.this, CallDetailsActivity.class);
                    intent.putExtra(CallDetailsActivity.EXTRA_CALL_NUMBER, callNumber);
                    startActivity(intent);
                }
            });
        }
    
        private List<String> getRecentCalls() {
            // 这里应该是从数据库或其他数据源获取最近通话记录的方法
            return new ArrayList<>();
        }
    }
    

    现在,当用户点击返回键或菜单中的“最近通话记录”时,它们将分别打开新的活动。第一个活动将在后台运行,以保持与当前屏幕的连接;第二个活动将直接进入另一个界面。

    评论

报告相同问题?