小编You*_*ran的帖子

在所有活动中使用工具栏(Android)

我正在使用工具栏来替换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)

android toolbar android-toolbar

30
推荐指数
1
解决办法
4万
查看次数

Openfiledialog Multiselect

我正在使用多选文件对话框来浏览多个图片并将它们添加到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.

有帮助吗?

c# openfiledialog

4
推荐指数
1
解决办法
9819
查看次数

C#SqlDataReader行/列没有数据

我已经离开了一段时间的编程,但最近我需要它.

我使用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);

但实际上有数据,因为带有所有代码的"提交"按钮正在工作,我已经在数据库表中检查了它.

有小费吗?谢谢.

c# asp.net sqldatareader

3
推荐指数
2
解决办法
6378
查看次数