我正在尝试将listView Adapter Class(扩展BaseAdapter)中的Integer变量传递给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);
}
});
另外请解释如何在我的活动课程中收到它。
答案 0 :(得分:1)
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>
答案 1 :(得分:0)
如果要在适配器和当前活动之间进行通信,请使用此选项 创建类似
的界面public interface OnItemValueChange{
public void onValueChange(String value);
}
使用
YourActivity implement OnItemValueChange
创建适配器时,将此接口引用传递给适配器,如
adapter.setOnValueChangeListener(this);
将此接口引用保存在适配器中以及每当要发送一些数据时
interfaceReference.onValueChange("text");
以上方法位于您的活动中 的修改 如果您想在新活动中获得价值,请使用
int id = getIntent().getIntExtra("CompanyCsId");