传递一个从适配器 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>