传递一个从适配器 class 到 activity 动态变化的整数变量
To pass an integer variable which varies dynamically from an adapter class to an activity
我正在尝试将整数变量从 listView 适配器 Class(扩展 BaseAdapter)传递到 Activity(ActionBarActivity)。这应该在 onClickListener 中完成。任何人都可以帮助解决这个问题。
holder1.companyName_textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(activity, "CpsID: "
+ searchresultList.get(position).getCpsId(),
Toast.LENGTH_SHORT).show();
Toast.makeText(activity, "Company Name: "
+ searchresultList.get(position).getCpsName(),
Toast.LENGTH_LONG).show();
Intent intent = new Intent(activity, CompanyProfile_Activity.class);
intent.putExtra("companyCpsId", searchresultList.get(position).getCpsId());
activity.startActivity(intent);
}
});
另外请在我的activityclass.
中说明如何接收
如果你想在适配器和电流之间进行通信,请使用它 activity
创建类似
的界面
public interface OnItemValueChange{
public void onValueChange(String value);
}
使用
YourActivity implement OnItemValueChange
在创建您的适配器时将此接口引用传递给您的适配器,例如
adapter.setOnValueChangeListener(this);
将这个接口引用保存在你的适配器中,每当你想发送一些数据调用时
interfaceReference.onValueChange("text");
以上方法位于您的 activity
编辑
如果您想在新 activity
中获得价值,请使用
int id = getIntent().getIntExtra("CompanyCsId");
public class CompanyProfile_Activity extends Activity{
int default_value=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int value=getIntent().getIntExtra("companyCpsId", default_value);
Toast.makeText(CompanyProfile_Activity.this,"Id: "+value, Toast.LENGTH_LONG).show();
}
}
不要忘记将这些代码添加到 AndroidManifest.xml 文件
<activity
android:name=".CompanyProfile_Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
我正在尝试将整数变量从 listView 适配器 Class(扩展 BaseAdapter)传递到 Activity(ActionBarActivity)。这应该在 onClickListener 中完成。任何人都可以帮助解决这个问题。
holder1.companyName_textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(activity, "CpsID: "
+ searchresultList.get(position).getCpsId(),
Toast.LENGTH_SHORT).show();
Toast.makeText(activity, "Company Name: "
+ searchresultList.get(position).getCpsName(),
Toast.LENGTH_LONG).show();
Intent intent = new Intent(activity, CompanyProfile_Activity.class);
intent.putExtra("companyCpsId", searchresultList.get(position).getCpsId());
activity.startActivity(intent);
}
});
另外请在我的activityclass.
中说明如何接收如果你想在适配器和电流之间进行通信,请使用它 activity 创建类似
的界面public interface OnItemValueChange{
public void onValueChange(String value);
}
使用
YourActivity implement OnItemValueChange
在创建您的适配器时将此接口引用传递给您的适配器,例如
adapter.setOnValueChangeListener(this);
将这个接口引用保存在你的适配器中,每当你想发送一些数据调用时
interfaceReference.onValueChange("text");
以上方法位于您的 activity 编辑 如果您想在新 activity
中获得价值,请使用int id = getIntent().getIntExtra("CompanyCsId");
public class CompanyProfile_Activity extends Activity{
int default_value=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int value=getIntent().getIntExtra("companyCpsId", default_value);
Toast.makeText(CompanyProfile_Activity.this,"Id: "+value, Toast.LENGTH_LONG).show();
}
}
不要忘记将这些代码添加到 AndroidManifest.xml 文件
<activity
android:name=".CompanyProfile_Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>