Android BaseAdapter如何获得每一项并添加按钮事件

package com.hangcheng;

import java.io.File;
import java.util.ArrayList;

import com.example.bdcustomer_demo.R;
import com.hangcheng.entity.FileBin;
import com.hangcheng.helper.MySQLiteHelper;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.webkit.WebChromeClient.CustomViewCallback;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class DbActivity extends Activity {

private EditText editText_type;
private Button btn_search;

private TextView textView_id;
private TextView textView_type;
private TextView textView_path;

private Button btn_delete;
private Button btn_play;

private String file_id = "";
private String file_type = "";
private String file_path = "";

private ListView listView_db;
ArrayList data;
private Cursor cursor;

private FileBin fileBin;

private String fileid;
private String type;
private String path;

BaseAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.dbfile);

data = new ArrayList();
initView();

cursor = new MySQLiteHelper(DbActivity.this, "file.db", null, 1)
.querydataFromdb(file_id, file_type, file_path);
cursor.moveToFirst();

while (cursor.moveToNext()) {
android.util.Log.e(
"tag",
cursor.getString(cursor.getColumnIndex("_id"))
+ cursor.getString(cursor.getColumnIndex("type"))
+ cursor.getString(cursor
.getColumnIndex("filepath")));
}

data = new MySQLiteHelper(DbActivity.this, "file.db", null, 1)
.getfileData();
android.util.Log.e("MESSAGE", data.size() + "");

adapter = new BaseAdapter() {

@Override
public View getView(final int position, View convertView,
ViewGroup parent) {

if (convertView == null) {
convertView = LayoutInflater.from(DbActivity.this).inflate(
R.layout.list_view_filedb_items, null);

}

FileBin filebin = (FileBin) data.get(position);
Log.e("MESSAGE", filebin.getId());
Log.e("MESSAGE", filebin.getType());
Log.e("MESSAGE", filebin.getFilepath());

textView_id = (TextView) convertView
.findViewById(R.id.textViewdb_id);
textView_type = (TextView) convertView
.findViewById(R.id.textViewdb_type);
textView_path = (TextView) convertView
.findViewById(R.id.textViewdb_path);

btn_delete = (Button) convertView.findViewById(R.id.btn_delete);
btn_play = (Button) convertView.findViewById(R.id.btn_play);

textView_id.setText(filebin.getId());
textView_type.setText(filebin.getType());
textView_path.setText(filebin.getFilepath());

final int id = position;

btn_play.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

Log.e("HAHAHAHHAHA", "进来了");
Log.e("HAHAHAHHAHA", "当前点击的位置是:" + position + "");
Log.e("HAHAHAHHAHA",
((FileBin) data.get(position)).getType());
Log.e("HAHAHAHHAHA",
((FileBin) data.get(position)).getFilepath());
type = ((FileBin) data.get(position)).getType();
path = ((FileBin) data.get(position)).getFilepath();
if (type.equals("jpg") || type.equals("png")
|| type.equals("jpeg")) {
Intent intent = new Intent(getBaseContext(),
PictureActivity.class);
intent.putExtra("picpath", path);
startActivity(intent);

}
if (type.equals("mp4") || type.equals("wav")
|| type.equals("avi") || type.equals("mp3")) {
Log.e("HAHAHAHAHHA", "进入播放");
Intent intent = new Intent(DbActivity.this,
VideoActivity.class);
intent.putExtra("videopath", path);
startActivity(intent);

}
if (type.equals("gif")) {
Intent intent = new Intent(getBaseContext(),
GifViewActivity.class);
intent.putExtra("gifpath", path);
startActivity(intent);
}

}
});

btn_delete.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
fileid = ((FileBin) data.get(position)).getId();
MySQLiteHelper helper = new MySQLiteHelper(
getBaseContext(), "file.db", null, 1);

helper.deletedataFromdb(Integer.parseInt(fileid));

data = new MySQLiteHelper(DbActivity.this, "file.db",
null, 1).getfileData();

listView_db.setAdapter(adapter);
listView_db.invalidate();
adapter.notifyDataSetChanged();

}
});

return convertView;
}

@Override
public long getItemId(int arg0) {
return arg0;
}

@Override
public Object getItem(int arg0) {
fileBin = (FileBin) data.get(arg0);
fileid = fileBin.getId();
type = fileBin.getType();
path = fileBin.getFilepath();

return data.get(arg0);
}

@Override
public int getCount() {
return data.size();
}
};

listView_db.setAdapter(adapter);

btn_search.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
file_type = editText_type.getText().toString();

if (file_type.equals("")) {
data = new MySQLiteHelper(DbActivity.this, "file.db", null,
1).getfileData();
} else {

data = new MySQLiteHelper(DbActivity.this, "file.db", null,
1).getfilebyTypeData(file_type);
}

cursor.moveToFirst();
listView_db.setAdapter(new BaseAdapter() {

@Override
public View getView(final int position, View convertView,
ViewGroup parent) {

if (convertView == null) {
convertView = LayoutInflater.from(DbActivity.this)
.inflate(R.layout.list_view_filedb_items,
null);

}

FileBin filebin = (FileBin) data.get(position);
Log.e("MESSAGE", filebin.getId());
Log.e("MESSAGE", filebin.getType());
Log.e("MESSAGE", filebin.getFilepath());

textView_id = (TextView) convertView
.findViewById(R.id.textViewdb_id);
textView_type = (TextView) convertView
.findViewById(R.id.textViewdb_type);
textView_path = (TextView) convertView
.findViewById(R.id.textViewdb_path);

btn_delete = (Button) convertView
.findViewById(R.id.btn_delete);
btn_play = (Button) convertView
.findViewById(R.id.btn_play);

textView_id.setText(filebin.getId());
textView_type.setText(filebin.getType());
textView_path.setText(filebin.getFilepath());

type = filebin.getType();
path = filebin.getFilepath();

btn_play.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

Log.e("HAHAHAHHAHA", "进来了");
Log.e("HAHAHAHHAHA", "当前点击的位置是:" + position
+ "");
Log.e("HAHAHAHHAHA", ((FileBin) data
.get(position)).getType());
Log.e("HAHAHAHHAHA", ((FileBin) data
.get(position)).getFilepath());
type = ((FileBin) data.get(position)).getType();
path = ((FileBin) data.get(position))
.getFilepath();
if (type.equals("jpg") || type.equals("png")
|| type.equals("jpeg")) {
Intent intent = new Intent(
getBaseContext(),
PictureActivity.class);
intent.putExtra("picpath", path);
startActivity(intent);

}
if (type.equals("mp4") || type.equals("wav")
|| type.equals("avi")
|| type.equals("mp3")) {
Log.e("HAHAHAHAHHA", "进入播放");
Intent intent = new Intent(DbActivity.this,
VideoActivity.class);
intent.putExtra("videopath", path);
startActivity(intent);

}
if (type.equals("gif")) {
Intent intent = new Intent(
getBaseContext(),
GifViewActivity.class);
intent.putExtra("gifpath", path);
startActivity(intent);
}

}
});

btn_delete
.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
fileid = ((FileBin) data.get(position))
.getId();
MySQLiteHelper helper = new MySQLiteHelper(
getBaseContext(), "file.db",
null, 1);

helper.deletedataFromdb(Integer
.parseInt(fileid));

data = new MySQLiteHelper(
DbActivity.this, "file.db",
null, 1).getfileData();

listView_db.setAdapter(adapter);
listView_db.invalidate();
adapter.notifyDataSetChanged();

}
});

return convertView;
}

@Override
public long getItemId(int arg0) {
return arg0;
}

@Override
public Object getItem(int arg0) {
return data.get(arg0);
}

@Override
public int getCount() {
return data.size();
}
});

}

});

}

private void initView() {
editText_type = (EditText) findViewById(R.id.file_type);
btn_search = (Button) findViewById(R.id.btn_search);
listView_db = (ListView) findViewById(R.id.listview_db);

}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值