Android 如何将listview行中的textview中的值放入片段
在android应用程序上工作,我想从我的textview中传递列表视图中一行的值,并将其放入一个片段中。我听说convertView.gettag和settag方法put我不知道如何处理。 我的代码:Android 如何将listview行中的textview中的值放入片段,android,android-fragments,android-listview,convertview,Android,Android Fragments,Android Listview,Convertview,在android应用程序上工作,我想从我的textview中传递列表视图中一行的值,并将其放入一个片段中。我听说convertView.gettag和settag方法put我不知道如何处理。 我的代码: 公共类求值片段扩展CustomFragment实现View.OnClickListener、AdapterView.OnItemSelectedListener{ 私家病人; 私有视图myView; 私人语境; 私人按钮btnAjoutEvaluation; 私有列表视图评估\u历史\u列表;
公共类求值片段扩展CustomFragment实现View.OnClickListener、AdapterView.OnItemSelectedListener{
私家病人;
私有视图myView;
私人语境;
私人按钮btnAjoutEvaluation;
私有列表视图评估\u历史\u列表;
私人估价;
向MEVALUSIONDTO进行私人评估;
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
myView=充气机。充气(R.layout.fragment\u评估,容器,错误);
返回myView;
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
init();
}
私有void init(){
evaluations\u historic\u liste=(ListView)myView.findViewById(R.id.evaluations\u historic\u liste);
btnajouteevaluation=(按钮)myView.findviewbyd(R.id.evaluations\u add\u btn);
btnAjoutEvaluation.setOnClickListener(this);
类型评估MNOUVEAUTYPEASURATION;
mPatient=((档案实用性)mrootoctivity)。mPatient;
meevaluationdto=新的EvaluationDto(mrootoctivity.getApplicationContext());
评估\u历史\u liste.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
EvaluationAdapter.EvaluationItem项=(EvaluationAdapter.EvaluationItem)视图.getTag();
开放式评价(项目);
}
});
meevaluationdto.open();
试一试{
mEvaluation=mEvaluationDto.getEvaluationsByPatientId(mPatient.getId());
}捕获(SQLE异常){
Log.e(Constants.APP_Log_标记,e.getMessage());
ACRA.getErrorReporter().handleException(e);
}最后{
mEvaluationDto.close();
}
if(mEvaluation!=null&&mEvaluation.size()>0){
evaluations_historic_liste.setAdapter(新EvaluationAdapter(mroo触觉,mEvaluation));
}否则{
评估\u历史\u列表设置可见性(View.GONE);
}
}
@凌驾
公共void onClick(视图v){
开关(v.getId()){
案例(R.id.evaluations\u add\u btn):
openNewEvaluation();
打破
}
}
public void openNewEvaluation(){
Fragment Fragment=新的EvaluationNouvelleFragment();
android.support.v4.app.FragmentTransaction FragmentTransaction=getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.content_frame,new EvaluationNouvelleFragment());
fragmentTransaction.commit();
}
public void openDetailEvaluation(EvaluationAdapter.EvaluationItem项){
EvaluationAdapter EvaluationAdapter=新EvaluationAdapter();
EvaluationDetailHistoryQueFragment detail=新EvaluationDetailHistoryQueFragment();
Bundle args=新Bundle();
args.putString(evaluationDetailHistoryQueFragment.DATA\u RECEIVE,/*这里我需要放置项\u evaluation\u nom.setText()*/);
detail.setArguments(args);
getFragmentManager().beginTransaction().replace(R.id.content_frame,detail.commit();
}
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
}
@凌驾
未选择公共无效(AdapterView父级){
}
公共类EvaluationAdapter扩展了BaseAdapter{
私有上下文;
private List mItems=new ArrayList();
公共EvaluationAdapter(){}
公共EvaluationAdapter(上下文、列表值){
this.mcontext=上下文;
用于评估(e:值){
增加(新的评估项目(e));
}
}
@凌驾
public int getCount(){
返回mItems.size();
}
@凌驾
公共评估项getItem(内部位置){
返回mItems.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回0;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图=空;
评估项目负责人;
if(convertView==null){
convertView=LayoutFlater.from(mcontext).充气(R.layout.list\u items\u Historical\u evaluations,parent,false);
holder=新的EvaluationItemHolder();
holder.item\u evaluation\u date=(TextView)convertView.findViewById(R.id.item\u evaluation\u date);
holder.item_evaluation_nom=(TextView)convertView.findViewById(R.id.item_evaluation_nom);
holder.item\u evaluation\u person=(TextView)convertView.findViewById(R.id.item\u evaluation\u person);
holder.item_evaluation_score=(TextView)convertView.findViewById(R.id.item_evaluation_score);
holder.item\u evaluation\u date\u reevaluation=(TextView)convertView.findViewById(R.id.item\u evaluation\u date\u reevaluation);
convertView.setTag(支架);
}否则{
holder=(EvaluationItemHolder)convertView.getTag();
}
最终评估项=获取项(位置);
int score=(item.getScoreTV()).intValue();
holder.item_evaluation_date.setText(+“”+item.getDateTV());
holder.item_evaluation_nom.setText(item.getTypeEvalTV());
if(item.getPersonnelTV()!=null){
holder.item\u evaluation\u person.setText(+“”+item.getPersonnelTV());
}
holder.item_evaluation_score.setText(+String.valueOf(score));
if(item.getDateReevalTV()!=null){
holder.item_evaluation_date_reevaluation.setText(item.getDateReevalTV());
}
//setTag(1,item.getTypeEvalTV());
返回视图;
}
公开课评估项目{
私人电视;
私有字符串类型evaltv;
私人字符串人员
public class EvaluationsFragment extends CustomFragment implements View.OnClickListener, AdapterView.OnItemSelectedListener {
private Patient mPatient;
private View myView;
private Context context;
private Button btnAjoutEvaluation;
private ListView evaluations_historic_liste;
private List<Evaluation>mEvaluation;
private EvaluationDto mEvaluationDto;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState){
myView = inflater.inflate(R.layout.fragment_evaluations, container,false);
return myView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
init();
}
private void init(){
evaluations_historic_liste = (ListView)myView.findViewById(R.id.evaluations_historic_liste);
btnAjoutEvaluation = (Button)myView.findViewById(R.id.evaluations_add__btn);
btnAjoutEvaluation.setOnClickListener(this);
TypeEvaluation mNouveauTypeEvaluation;
mPatient =((DossierActivity)mRootActivity).mPatient;
mEvaluationDto = new EvaluationDto(mRootActivity.getApplicationContext());
evaluations_historic_liste.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
EvaluationAdapter.EvaluationItem item = (EvaluationAdapter.EvaluationItem)view.getTag();
openDetailEvaluation(item);
}
});
mEvaluationDto.open();
try{
mEvaluation = mEvaluationDto.getEvaluationsByPatientId(mPatient.getId());
}catch (SQLException e) {
Log.e(Constants.APP_LOG_TAG, e.getMessage());
ACRA.getErrorReporter().handleException(e);
} finally{
mEvaluationDto.close();
}
if(mEvaluation != null && mEvaluation.size() >0){
evaluations_historic_liste.setAdapter(new EvaluationAdapter(mRootActivity,mEvaluation));
}else {
evaluations_historic_liste.setVisibility(View.GONE);
}
}
@Override
public void onClick(View v) {
switch(v.getId()){
case (R.id.evaluations_add__btn):
openNewEvaluation();
break;
}
}
public void openNewEvaluation(){
Fragment fragment = new EvaluationNouvelleFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.content_frame, new EvaluationNouvelleFragment());
fragmentTransaction.commit();
}
public void openDetailEvaluation(EvaluationAdapter.EvaluationItem item){
EvaluationAdapter evaluationAdapter = new EvaluationAdapter();
EvaluationDetailHistoriqueFragment detail = new EvaluationDetailHistoriqueFragment();
Bundle args = new Bundle();
args.putString(EvaluationDetailHistoriqueFragment.DATA_RECEIVE, /*HERE I NEED TO PUT item_evaluation_nom.setText()*/ );
detail.setArguments(args);
getFragmentManager().beginTransaction().replace(R.id.content_frame, detail).commit();
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
public class EvaluationAdapter extends BaseAdapter {
private Context mcontext;
private List<EvaluationItem> mItems = new ArrayList<EvaluationItem>();
public EvaluationAdapter(){}
public EvaluationAdapter(Context context, List<Evaluation> values) {
this.mcontext = context;
for (Evaluation e : values) {
mItems.add(new EvaluationItem(e));
}
}
@Override
public int getCount() {
return mItems.size();
}
@Override
public EvaluationItem getItem(int position) {
return mItems.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
EvaluationItemHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(mcontext).inflate(R.layout.list_items_historic_evaluations, parent, false);
holder = new EvaluationItemHolder();
holder.item_evaluation_date = (TextView) convertView.findViewById(R.id.item_evaluation_date);
holder.item_evaluation_nom = (TextView) convertView.findViewById(R.id.item_evaluation_nom);
holder.item_evaluation_personnel = (TextView) convertView.findViewById(R.id.item_evaluation_personnel);
holder.item_evaluation_score = (TextView) convertView.findViewById(R.id.item_evaluation_score);
holder.item_evaluation_date_reevaluation = (TextView) convertView.findViewById(R.id.item_evaluation_date_reevaluation);
convertView.setTag(holder);
}else{
holder = (EvaluationItemHolder)convertView.getTag();
}
final EvaluationItem item = getItem(position);
int score = (item.getScoreTV()).intValue();
holder.item_evaluation_date.setText( + " " + item.getDateTV());
holder.item_evaluation_nom.setText(item.getTypeEvalTV());
if (item.getPersonnelTV() != null) {
holder.item_evaluation_personnel.setText( + " " + item.getPersonnelTV());
}
holder.item_evaluation_score.setText( + String.valueOf(score));
if (item.getDateReevalTV() != null) {
holder.item_evaluation_date_reevaluation.setText( item.getDateReevalTV());
}
// convertView.setTag(1,item.getTypeEvalTV());
return convertView;
}
public class EvaluationItem {
private String dateTV;
private String typeEvalTV;
private String personnelTV;
private Double scoreTV;
private String dateReevalTV;
public String getDateTV() {return dateTV;}
public void setDateTV(String dateTV) {
this.dateTV = dateTV;
}
public String getTypeEvalTV() {
return typeEvalTV;
}
public void setTypeEvalTV(String typeEvalTV) {
this.typeEvalTV = typeEvalTV;
}
public String getPersonnelTV() {
return personnelTV;
}
public void setPersonnelTV(String personnelTV) {
this.personnelTV = personnelTV;
}
public Double getScoreTV() {
return scoreTV;
}
public void setScoreTV(Double scoreTV) {
this.scoreTV = scoreTV;
}
public String getDateReevalTV() {
return dateReevalTV;
}
public void setDateReevalTV(String dateReevalTV) {
this.dateReevalTV = dateReevalTV;
}
public EvaluationItem(Evaluation e){
this.dateTV = e.getDate();
this.typeEvalTV = e.getTypeEvaluation().getLibelle();
this.personnelTV = e.getPersonnelLibelle();
this.scoreTV = e.getScore();
this.dateReevalTV = e.getDateReevaluation();
}
}
}
public static class EvaluationItemHolder{
public TextView item_evaluation_date;
public TextView item_evaluation_nom;
public TextView item_evaluation_personnel;
public TextView item_evaluation_score;
public TextView item_evaluation_date_reevaluation;
}
}
String itemEvaluation = holder.item_evaluation_nom.getText();
EvaluationDetailHistoriqueFragment detail = new EvaluationDetailHistoriqueFragment();
Bundle bundle = new Bundle();
bundle.putString("text", itemEvaluation);
detail.setArguments(bundle);
Bundle bundle = this.getArguments();
if (bundle != null) {
String itemEvaluation = bundle.getString("text", "");
}
evaluation_historic_liste.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapter, View v, int position, long id){
String itemEvaluation = (String) ((TextView)view.findViewById(R.id.item_evaluation_nom)).getText();
//or
String itemEvaluation=(evaluation_historic_liste.getItemAtPosition(position).toString());
}
}