Android 如何使用列表中的自定义按钮将用户重定向到其他活动
我已经编写了一个大代码,并且在我的一个任务布局中使用了列表视图: 我想知道如何为每个更新按钮创建一个侦听器在本例中,为了移动到另一个活动,我想知道如何使用多个活动并在它们之间移动,但我只想知道如何创建一个侦听器 自定义适配器代码:Android 如何使用列表中的自定义按钮将用户重定向到其他活动,android,Android,我已经编写了一个大代码,并且在我的一个任务布局中使用了列表视图: 我想知道如何为每个更新按钮创建一个侦听器在本例中,为了移动到另一个活动,我想知道如何使用多个活动并在它们之间移动,但我只想知道如何创建一个侦听器 自定义适配器代码: package com.example.task_9; import java.util.ArrayList; import android.content.Context; import android.view.LayoutInflater; import
package com.example.task_9;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class TempLyaout extends ArrayAdapter<String> {
Context context;
ArrayList<String> sa;
public TempLyaout(Context context , ArrayList<String> sa) {
super(context,R.layout.temp,sa);
this.context=context;
this.sa = sa;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater l = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View rowView = l.inflate(R.layout.temp, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.textView1);
ImageView imageView = (ImageView) rowView.findViewById(R.id.imageView1);
Button update = (Button) rowView.findViewById(R.id.button1);
// myDb.open();
// Cursor cursor= myDb.getRowByName(sa.get(position));
// myDb.updateRowByName(cursor.getInt(DBAdapter.COL_ROWID), sa.get(position), cursor.getString(DBAdapter.COL_PASSWD), cursor.getInt(DBAdapter.COL_AGE), isAdmin);
// myDb.close();
textView.setText(sa.get(position));
return rowView;
}
}
package com.example.task_9;
导入java.util.ArrayList;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ImageView;
导入android.widget.TextView;
公共类TemplyOut扩展了ArrayAdapter{
语境;
ArrayList sa;
公共模板输出(上下文,ArrayList sa){
超级(上下文、右布局、温度、sa);
this.context=context;
这个。sa=sa;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater l=(LayoutInflater)context.getSystemService(context.LAYOUT\u充气机\u服务);
视图行视图=l.充气(R.布局.温度,父级,假);
TextView TextView=(TextView)rowView.findViewById(R.id.textView1);
ImageView ImageView=(ImageView)rowView.findViewById(R.id.imageView1);
按钮更新=(按钮)rowView.findViewById(R.id.button1);
//myDb.open();
//Cursor Cursor=myDb.getRowByName(sa.get(position));
//myDb.updateRowByName(cursor.getInt(DBAdapter.COL_ROWID)、sa.get(position)、cursor.getString(DBAdapter.COL_PASSWD)、cursor.getInt(DBAdapter.COL_AGE)、isAdmin);
//myDb.close();
setText(sa.get(position));
返回行视图;
}
}
这是相关类:
package com.example.task_9;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class UsersActivity extends Activity {
Intent redirect;
ListView list;
ArrayList<String> sa;
DBAdapter myDb;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
@Override
protected void onStart() {
super.onStart();
setContentView(R.layout.users);
list= (ListView) findViewById(R.id.usersList);
redirect = getIntent();
openDB();
/*********************************************/
Cursor cursor = myDb.getAllRows();
cursor.moveToFirst();
ArrayList<String> ha = new ArrayList<String>();
while(cursor.moveToNext()) {
ha.add(cursor.getString(DBAdapter.COL_NAME));
}
cursor.close();
@SuppressWarnings("rawtypes")
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,ha);
list.setAdapter(new TempLyaout(UsersActivity.this,ha));
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getApplicationContext(),
"Click ListItem Number " + position, Toast.LENGTH_LONG)
.show();
}
});
} // end onStart method
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
@Override
protected void onDestroy() {
super.onDestroy();
closeDB();
}// end onDestroy method
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
private void openDB() {
myDb = new DBAdapter(this);
myDb.open();
} // end openDB method
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
private void closeDB() {
myDb.close();
} // end closeDB method
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
}// end main class
package com.example.task_9;
导入java.util.ArrayList;
导入android.app.Activity;
导入android.content.Intent;
导入android.database.Cursor;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.Toast;
公共类UsersActivity扩展了活动{
意图重定向;
列表视图列表;
ArrayList sa;
dbadaptermydb;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
@凌驾
受保护的void onStart(){
super.onStart();
setContentView(R.layout.users);
列表=(ListView)findViewById(R.id.usersList);
重定向=getIntent();
openDB();
/*********************************************/
Cursor=myDb.getAllRows();
cursor.moveToFirst();
ArrayList ha=新的ArrayList();
while(cursor.moveToNext()){
add(cursor.getString(DBAdapter.COL_NAME));
}
cursor.close();
@抑制警告(“原始类型”)
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,ha);
setAdapter(新模板输出(UsersActivity.this,ha));
list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
Toast.makeText(getApplicationContext(),
“点击列表项目编号”+位置,烤面包片长度(长)
.show();
}
});
}//end onStart方法
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
@凌驾
受保护的空onDestroy(){
super.ondestory();
closeDB();
}//端测法
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
私有void openDB(){
myDb=新的DBAdapter(此);
myDb.open();
}//结束openDB方法
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
私有void closeDB(){
myDb.close();
}//结束closeDB方法
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
}//结束主课
在getView中
Button update = (Button) rowView.findViewById(R.id.button1);
update.setOnClickListener(mClickListener);
然后
还可以使用viewholder进行平滑滚动和性能测试
private OnClickListener mClickListener = new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(ListActivtiy.this,SecondActivity.class);
startActivity(intent);
}
};