-3

実際には、 MainActivity と ListView という 2 つの ACTIVITIES があります。
この文字列配列「arr」を MainActivity から ListVIew に渡したい..
そして、Activity ListVIew は「arr」の要素のリストを表示し ます。

注: arr のデータは、私が作成したデータベースから提供されており、正常に動作します。

Activity ListView での arr の取得に問題があります

主な活動

package com.vivekmishra1991.database;

import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {
public int i;

public String arr[] = new String[100];


 private DatabaseHelper databaseHelper;
 @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // A clickable TextView 

    final TextView textView=(TextView) findViewById(R.id.savedContent);
   textView.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {


            <--ARRAY(arr) RETRIVED FROM DATABASE-->



          Intent intent=new Intent(MainActivity.this,ListVIew.class);
           intent.putExtra("array",arr);
          startActivity(intent);


 }
   });


 }  // onCreate ends here



}

リストビュー

  <-imports->

public class ListVIew extends Activity {
ListView listview;
Intent intent=getIntent();
String[] arr=intent.getStringArrayExtra("array");
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.view_list);






listview.findViewById(R.id.list);
     ArrayAdapter<String> Adapter = new ArrayAdapter<String>        (this,android.R.layout.simple_list_item_1,arr);
    listview.setAdapter(Adapter);
}

}

4

2 に答える 2

0

oncreate からエクストラを取得する必要があります

「getIntent().getStringArrayExtra(文字列名)」

編集

意図を介してオブジェクトを渡す別の方法である bundle を誤って記述しました。私が書いたメソッドは、インテントに直接保存します。

于 2013-08-12T20:34:00.333 に答える
0

別のアクティビティにデータを送信する場合は、 を使用して実行できますintent

Bundle bund = new Bundle();

bund.putString("myKey",name);

Intent intent = new Intent(MainActivity.this, ListView.class);

intent.putExtras(bund);

startActivity(intent);

ListView クラスでは、このデータを onCreate() で受け取ります

    @Override
protected void onCreate(Bundle savedInstanceState) {
      .......

    String nameReceived = getIntent().getExtras().getString("myKey");
}

String を別のアクティビティに渡す例を示しましたが、boolean、int、double などを別のアクティビティに渡すことができます。ここで完全なリストを参照してください

于 2013-08-13T20:29:05.817 に答える