我正在使用工具栏来替换ActionBar.一切都很顺利,有一个问题:
工具栏仅显示主要活动.
如果我尝试使用与主活动相同的方式调用任何活动上的工具栏,则在调用该活动时应用程序将崩溃.
如果我尝试对onCreateOptionsMenu上的工具栏进行充气,那么当我调用它时该活动就会崩溃.
如何在我的所有活动中调用/使用相同的工具栏,而不仅仅是主要的活动.
这里是一些代码:
public android.support.v7.widget.Toolbar toolbar;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.app_bar_id);
setSupportActionBar(toolbar);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码可以成功调用工具栏,但只有在主活动上使用它时它才有效,如果我用上面显示的相同方法调用工具栏,其余的活动都会崩溃.
有些帮助吗?
谢谢.
编辑:
根据请求,这里有更多代码片段:
app_bar.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/actionbarbgcolor"
app:popupTheme="@style/popUpTheme">
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
themes.xml(styles.xml替换):
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="DefaultActionBarTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:textColorPrimary">@color/windowbackgroundcolor</item>
<item name="android:windowBackground">@color/windowbackgroundcolor</item>
</style>
<style name="popUpTheme">
<item name="android:textColor">@color/actionbarbgcolor</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud) 我正在使用多选文件对话框来浏览多个图片并将它们添加到datagridview然后从那里将它们存储在数据库中.
出于问题,我只设法存储了第一张选定的图片(根本没有语法或运行时错误).
经过检查,我意识到文件对话框仅获取第一张图像的完整路径,并将其用于其余图像.
示例代码:
if (ofd_pic.ShowDialog() == DialogResult.OK)
{
foreach (String file in ofd_pic.FileNames)
{
MessageBox.Show(ofd_pic.FileName);
}
}
Run Code Online (Sandbox Code Playgroud)
该消息框将始终仅显示第一个图像的路径,并且我无法获得每个所选图像的路径.
文件对话框的属性是:
1.Modifiers:私人.2. MultiSelect:True.3. RestoreDirectory:True.
有帮助吗?
我已经离开了一段时间的编程,但最近我需要它.
我使用Sql Server Compact Edition 4.0(VS2012内置)的SQL DataReader有问题.
string connstring = "Data Source=C:\\..(Path Here)..\\VacationsDB.sdf";
SqlCeConnection conn = new SqlCeConnection(connstring);
string strSQL = "SELECT * FROM Vacation WHERE VacationNo = @val";
using (SqlCeCommand cmd = new SqlCeCommand(strSQL, conn))
{
//read search value from from text field
cmd.Parameters.AddWithValue("@val", vacationno_txt.Text);
conn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
fname_txt.Text = reader.GetString(0);
mname_txt.Text = reader.GetString(1);
/*
* .. snip
*/
vacationno_txt.Text = reader.GetString(11);
conn.Close();
}
Run Code Online (Sandbox Code Playgroud)
我一直收到错误:"InvalidOperationException未处理.行/列没有数据." 并且错误指向fname_txt.Text = reader.GetString(0);
但实际上有数据,因为带有所有代码的"提交"按钮正在工作,我已经在数据库表中检查了它.
有小费吗?谢谢.