我正在使用 AppCompat 操作栏,我想更改我在操作栏中使用的搜索视图的后退图标。我进行了搜索,但找不到解决方案。
我试过在样式中设置图标:
<item name="homeAsUpIndicator">@drawable/myBackButton</item>
但我想在用户选择搜索视图时以编程方式设置另一个。关于如何做到这一点的任何想法?
我有一个这样定义的枚举:
#[derive(Clone, Debug)]
pub enum JsonState {
NameReadingState(String),
StringState(String),
}
impl JsonState {
pub fn get_name_read(self) -> String {
if let JsonState::NameReadingState(name) = self {
return name;
} else {
panic!(
"Error: attempted to get name from non name state {:#?}",
self
);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我要调用get_name_read的实例,则JsonState该字符串将被移出枚举还是被复制?我的理解是,由于我正在传递self而不是&self在函数内部获取实例的所有权,因此我应该能够简单地将字符串移出该函数。