小编twi*_*ort的帖子

如何从OnClickListener启动Intent

我的主要活动扩展了ListActivity并显示了一个List.我正在使用名为DefinitionAdapter的类中定义的自定义Listitems.我还有一个单独的类来实现OnClickListener.

在类DefinitionAdapter中,我将OnClickListener设置为ListItems:

   public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater)getContext().getSystemService(
                    Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.row, null);
        }
...

        v.setOnClickListener(new OnItemClickListener(position) );

        return v;
   }
Run Code Online (Sandbox Code Playgroud)

我的自定义OnClickListener应该启动另一个活动.

public class OnItemClickListener implements OnClickListener extends Activity {


    private int position;

    public OnItemClickListener(int p) {

        position = p;   
    }

    @Override
    public void onClick(View v) {

        Intent intent = new Intent(this, ShowDefinition.class);
        startActivity(intent);

    }

}
Run Code Online (Sandbox Code Playgroud)

我不确定我是否正确行事.我将我的新活动添加到清单,以及我扩展监听器的活动:

<activity android:name="ShowDefinition" android:label="@string/app_name">
</activity>
<activity android:name="OnItemClickListener" android:label="@string/app_name"> …
Run Code Online (Sandbox Code Playgroud)

android listener listactivity android-intent

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

在非开发PC上找不到System.Data.SQLite

我在Visual Studio中创建了一个C#项目,并在http://sqlite.phxsoftware.com/上的SQLite 4.0 ADO库中使用了一个程序集.

程序在开发机器上运行正常,但是当我尝试在另一个系统上运行它时,总会出现错误,指出无法找到System.Data.SQLite.dll.我把文件放到程序目录中.我还尝试将其放入PATH下列出的目录中.有什么建议?

我正在使用openFileDialog打开数据库.这是相应的代码:

con = new SQLiteConnection();


                OpenFileDialog ofd1 = new OpenFileDialog();

                ofd1.Filter = "db Datei (*.db)|*.db|Alle Dateien (*.*)|*.*";

                if (ofd1.ShowDialog() == DialogResult.OK)
                    filepath = ofd1.FileName;
                filepath.Replace("\\", "\\\\");
                con.ConnectionString = "Data Source= \"" + filepath + "\"";
    [...]
Run Code Online (Sandbox Code Playgroud)

如前所述,这适用于开发机器(Windows 7,64bit).测试机器在虚拟机(Windows 7,32位)中运行.发生以下异常:

    System.IO.FileNotFoundException: Die Datei oder Assembly "System.Data.SQLite.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Das angegebene Modul wurde nicht gefunden.
    Dateiname: "System.Data.SQLite.dll"
       bei WindowsFormsApplication1.Form1.button2_Click(Object sender, EventArgs e)
       bei System.Windows.Forms.Control.OnClick(EventArgs e)
       bei System.Windows.Forms.Button.OnClick(EventArgs e)
       bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs …
Run Code Online (Sandbox Code Playgroud)

c# sqlite visual-studio-2010

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

为什么 Typescript 推断“从不”而不是交叉类型?

给出以下示例:

interface Data {
    name: string;
    value: number;
}

const data :Data = {
    name: 'name',
    value: 1,
}

const updateValue = (key: keyof Data, value: string | number): void => {
    data[key] = value;
};

Run Code Online (Sandbox Code Playgroud)

链接到 ts-playgound

打字稿显示以下错误:

Type 'string | number' is not assignable to type 'string & number'.
  Type 'string' is not assignable to type 'string & number'.
    Type 'string' is not assignable to type 'number'.
Run Code Online (Sandbox Code Playgroud)

这是清晰易懂的。但是,如果我向接口添加联合类型,如下所示:

Type 'string | number' is not assignable to type 'string …
Run Code Online (Sandbox Code Playgroud)

typescript

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

有没有更优雅的方法来确定列表是否包含元素而不是使用count?

目前我使用以下过程来确定列表是否包含元素:

if (aList.Count > 0)
{
   //doStuff
}
Run Code Online (Sandbox Code Playgroud)

我问自己是否有更优雅的方法来查明是否有元素,而不使用比较.

c# list

1
推荐指数
2
解决办法
205
查看次数