我有一个ListView右手边的图像.我想onClick点击图片上的图像来执行一个监听器事件ListView.请参阅图片以供参考.
我知道基本的OnClick监听器实现,但这对我来说似乎有点棘手:P
忘了提,通过点击实际ListView会拍摄一个新的活动,所以我需要保持两个模式.
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
eventsData.remove(id);
cursor.requery();
}
});
Run Code Online (Sandbox Code Playgroud)
上面的代码通过单击任何列表元素执行删除eventsData.remove(id);是用于执行此任务的数据库帮助程序.就像我现在说的,我需要一个方法来执行这个相同的过程juts,点击图像,而不是整个列表元素,我希望list元素稍后再做一些其他操作.
我希望现在我清楚一点.
解决方案:
如果有人遇到同样的情况,那么这里是适配器的完整代码.
class CustomAdapter extends ArrayAdapter<String> {
CustomAdapter() {
super(Activity.this, R.layout.row, R.id.label, items);
}
public View getView(final int position, View convertView,
ViewGroup parent) {
View row=super.getView(position, convertView, parent);
deleteImg=(ImageView)row.findViewById(R.id.icon);
deleteImg.setImageResource(R.drawable.delete);
deleteImg.setOnClickListener(new OnClickListener() {
String s = items[position];
@Override
public void onClick(View v) {
Toast.makeText(context, …Run Code Online (Sandbox Code Playgroud) 这是我用于加密和解密过程的当前代码,它的工作方式应该是这样,除了加密和解密的时间很长。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.crypto.Cipher;
import javax.crypto.CipherInputStream;
import javax.crypto.CipherOutputStream;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
public class EncryptAndDecrypt{
public static void main(String[] args) {
try {
String key = "myencryptedpass123";
FileInputStream fis = new FileInputStream("File_to_encrypt.mp4");
FileOutputStream fos = new FileOutputStream("Encrypted_file.mp4");
encrypt(key, fis, fos);
FileInputStream fis2 = new FileInputStream("Encrypted_file.mp4");
FileOutputStream fos2 = new FileOutputStream("File_to_decrypt.mp4");
decrypt(key, fis2, fos2);
} catch (Throwable e) {
e.printStackTrace();
}
}
public static void encrypt(String key, InputStream is, OutputStream …Run Code Online (Sandbox Code Playgroud) 是否可以在不重新启动Node.js服务器的情况下更新路由,模型或controller.js文件?
我目前正在与一个客户打交道,他们希望在非常频繁的事件中不断更改应用程序.应用程序处理用户会话等.每当我们对应用程序进行任何更改时,都需要重新启动才能获得反映,这在高流量情况下非常昂贵.
我已经看到一些服务器应用程序提供了一个名为Rolling Restart的功能但是我不确定它是否是在重启事件中维护用户会话的好方法.或者我们是否有任何其他解决方案来处理这种情况.
我在android中实现了一个视频播放,对于android来说是全新的,这是我到目前为止收集的代码.
根据它应该播放视频的逻辑.不知道我哪里做错了.
package com.themetanoia.readfilefromsdc;
import java.io.File;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.VideoView;
import android.widget.AdapterView.OnItemClickListener;
public class ReadFileFromSDCActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Get the file path for external storage
String a = Environment.getExternalStorageDirectory().getAbsolutePath();
final String finalPath = a+"/Videos";
//Define new …Run Code Online (Sandbox Code Playgroud) public class DataViewActivity extends Activity{
SQLiteDatabase db;
SimpleCursorAdapter adapter;
String dbTable = "users";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview_layout);
ListView listView = (ListView) findViewById(R.id.dbPop);
DBHelper dbhelper = new DBHelper(DataViewActivity.this);
db = dbhelper.getWritableDatabase();
Cursor cursor = db.query(dbTable, null, null, null, null, null, null);
startManagingCursor(cursor);
String[] from = new String[] { "name","_id"};
int[] to = new int[] { android.R.id.text1 };
adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from,
to);
listView.setAdapter(adapter);
}
}
Run Code Online (Sandbox Code Playgroud)
如何实现对此代码的onClick侦听器以删除所选的数据库行.我对Android知之甚少,所以对我来说这是一个学习曲线.
我如何使用*ngForAngular 2 迭代多维数组.下面是使用的DOM Wrapper:
<li *ngFor="let menuName of menuNames" routerLinkActive="active" [ngClass]="{'has-submenu':menuName.submenu?.length>0 }">
<a href="#" [routerLink]="menuName.route" *ngIf="!menuName.enableSM"> <i class="glyphicon {{menuName.icon}}"></i><span class="nav-label">{{menuName.name}}</span> </a>
<a href="#" *ngIf="menuName.enableSM"> <i class="glyphicon glyphicon-list-alt"></i> <span class="nav-label">Pages</span> </a>
<ul class="list-unstyled" *ngIf="menuName.enableSM">
<li *ngFor="let subMenuName of menuNames['submenu'] let idx = index;"> <a [routerLink]="subMenuName.route">404</a> </li>
</ul>
</li>
Run Code Online (Sandbox Code Playgroud)
和嵌套数组:
menuNames = [{
name: "Dashboard",
route: '/home',
icon: "glyphicon-th-large",
submenu: [],
enableSM: false
}, {
name: "Pages",
route: '',
icon: "glyphicon-list-alt",
submenu: [{
name: "404",
route: '/404.html'
}, {
name: …Run Code Online (Sandbox Code Playgroud) android ×4
java ×2
javascript ×2
listview ×2
angular ×1
arrays ×1
database ×1
express ×1
file ×1
node.js ×1
passport.js ×1
typescript ×1