2015-11-07 59 views
0

我想發送字符串到我的列表視圖。可悲的是,數據沒有被髮送過來並且沒有顯示任何錯誤。主要活動有列表視圖,用戶點擊一個按鈕(將它們帶到第二個活動),他們可以在其中輸入產品名稱,並自動將它們帶回主要活動。字符串數據沒有被髮送到主要的活動

這確實有用,但我必須弄清楚一些事情。我錯過了什麼嗎?

MainActivity.java

public class MainActivity extends Activity { 
     private ListView listView; 
     private String[] details; 
     public static ArrayList<String> names = new ArrayList<>(); 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      listView = (ListView) findViewById(R.id.listView); 
    // replace \ with left angle bracket in the line below 
      ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names); 
      listView.setAdapter(arrayAdapter); 
      listView.setOnItemClickListener(

        new AdapterView.OnItemClickListener() { 
         @Override 
         public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

         } 
        } 
       ); 
      } 

    } 

次活動

public class Main2Activity extends Activity { 
    private EditText textName; 
    private EditText textModel; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 
     textName=(EditText)findViewById(R.id.inputName); 
     textModel=(EditText)findViewById(R.id.inpuModelNumber); 



    } 
    public void addNames(View v){ 
     MainActivity.names.add(textName.getText().toString()); 

     finish(); 
    } 


} 
+0

,你打電話addNames? –

回答

1

我瞭解你想要傳遞的字符串數組列表到另一個活動

在您的活動創建的ArrayList

public class Main2Activity extends Activity { 
    private EditText textName; 
    private EditText textModel; 
    ArrayList<String> names = new ArrayList<>(); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 
     textName=(EditText)findViewById(R.id.inputName); 
     textModel=(EditText)findViewById(R.id.inpuModelNumber); 

    } 
    public void addNames(View v){ 
     names.add(textName.getText().toString()); 

     Intent intent = new Intent(Main2Activity .this, MainActivity .class); 
     intent.putStringArrayListExtra("keyNames", names); 
     startActivity(intent); 
     finish(); 

    } 
} 

然後解析字符串

傳遞數組中的OnCreate

Intent i = getIntent(); 
    ArrayList<String> list = i.getStringArrayListExtra("keyNames"); 

我希望這可以幫助您

1
listView.setAdapter(arrayAdapter); 
      listView.setOnItemClickListener(

        new AdapterView.OnItemClickListener() { 
         @Override 
         public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

Intent newPage = new Intent(getActivity().getApplicationContext(), 
     Main2Activity.class); 
newPage.putExtra("TITLE", title); 
newPage.putExtra("DATE", date); 
newPage.putExtra("CONTENT", content); 
startActivity(newPage); 


         } 
        } 
       ); 
      } 

然後在你的Main2Activity的onCreate()方法:

Bundle extras = getIntent().getExtras(); 
if(extras !=null) { 
    String title = extras.getString("TITLE"); 
    String date = extras.getString("DATE"); 
    String content = extras.getString("CONTENT"); 
} 
相關問題