没有文本从 B 返回到 listView A

Posted

技术标签:

【中文标题】没有文本从 B 返回到 listView A【英文标题】:No text return from B to listView A 【发布时间】:2016-02-17 02:53:41 【问题描述】:

我有两个 Activity,A 和 B。在 A 中,它有一个 listView 和一个 button。在 B 中,它有 imageVieweditText 。现在我想要实现的是将文本从 B 返回到 listView A。

活动 A

     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
       View claims = inflater.inflate(R.layout.receipt_text, container, false);
      listV = (ListView) claims.findViewById(R.id.listView);
      adapter=new ArrayAdapter<String>(getActivity(),R.layout.claims,R.id.textView1,status);
     m_listItems.add(name);
    m_listItems.add(result);
    listV.setAdapter(adapter);
    adapter.notifyDataSetChanged();
     return claims;
        

  @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data)    // receive  text from B

        switch (requestCode) 
                case 0:
                    result = data.getStringExtra("text");
                    name = data.getStringExtra("a");
                    description = data.getStringExtra("c");
                    break;
                    

活动 B

 ImageView viewImage;

    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.project);
        txt = (EditText) findViewById(R.id.editText36);
        txt1=(TextView)findViewById(R.id.textView57);
        Button b = (Button) findViewById(R.id.button17);
        addListenerOnButton();

        b.setOnClickListener(new View.OnClickListener()   // return to A
                    public void onClick(View arg0) 
                        Intent returnIntent = new Intent();
                        a = "Project";
                        text = txt.getText().toString(); // amount
                        returnIntent.putExtra("text", text);
                        returnIntent.putExtra("a", a);
                        returnIntent.putExtra("c", c);
                        setResult(Activity.RESULT_OK, returnIntent);
                        finish();
                    
                );

        public void addListenerOnButton() 
        imageButton = (ImageButton) findViewById(R.id.imageButton);
        imageButton.setOnClickListener(new View.OnClickListener() 

            @Override
            public void onClick(View arg0) 
                Global.img=null;
                Intent i = new Intent(Project1.this, C.class);
                startActivityForResult(i, PROJECT_REQUEST_CODE);
            

        );

    

    public void onActivityResult(int requestCode,int resultCode, Intent data)
       // receive from C
        if(requestCode==PROJECT_REQUEST_CODE) 
            if(data!=null&&data.hasExtra("text")) 
                c = data.getStringExtra("text");
                txt1.setText(c);
                viewImage.setImageBitmap(Global.img);
            


        
        else if (requestCode==CAMERA_REQUEST_CODE)
        

        
    


receipt_text.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_ android:layout_
    android:orientation="vertical">

    <TextView android:layout_
        android:layout_ android:padding="10dp"
        android:text="@string/text" android:textSize="20sp" />

    <TextView
      android:id="@+id/textView"
      android:layout_
      android:layout_ >
    </TextView>

    <ListView android:id="@+id/listView1" android:layout_
        android:layout_ />

</LinearLayout>

claims.xml

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_ android:layout_
    android:orientation="vertical">
    <TextView
        android:id="@+id/textView1"
        android:layout_
        android:layout_
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>

这是我迄今为止尝试过的,但是,没有从 B 到 A 的值返回。这里有什么问题?

【问题讨论】:

如何将值返回给listVIew?请帮助我...谢谢 case RESULT_OK: 或者把代码移到交换机外面先验证一下。最好不要直接从 Intent 获取数据。使用捆绑包。 @RanjithSubramaniam 你能举一些例子吗? tylenoly.wordpress.com/2010/10/27/… 我可以使用Log 获得一个值。但它没有加载到 listView 中 【参考方案1】:

移动

m_listItems.add(name);
m_listItems.add(result);
listV.setAdapter(adapter);
adapter.notifyDataSetChanged();

到案例 0

【讨论】:

以上是关于没有文本从 B 返回到 listView A的主要内容,如果未能解决你的问题,请参考以下文章

jquery mobile listview使用ajax动态加载后,跳转到其他页面返回时数据没有保存如何解决?

如何在 listView 中更新和添加新列表?

大地坐标系和空间直角坐标系的转换

在ListView中滚动会丢失文本颜色和字体

从不同的 rowView(s) 获取多个 ListView 文本并将它们传递到下一页

如何从具有多个视图的 ListView 中的 EditText 获取文本?