传递一个整数变量,该变量在适配器类和活动之间动态变化



我正试图将Integer变量从listView适配器类(扩展BaseAdapter)传递到活动(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);
}
});

此外,请解释如何在我的活动课上收到它。

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>

如果您想在适配器和当前活动之间进行通信,请使用此选项创建类似的界面

public interface OnItemValueChange{
public void onValueChange(String value);
}

使用

YourActivity implement OnItemValueChange

在创建适配器时,将此接口引用传递给类似的适配器

adapter.setOnValueChangeListener(this);

将此接口参考保存在您的适配器中,并且每当您想要发送一些数据时,请调用

interfaceReference.onValueChange("text");

以上方法位于您的活动中编辑如果您想在新活动中获得价值,请使用

int id =  getIntent().getIntExtra("CompanyCsId");

最新更新