2012-05-12 3 views
0

私は初心者のプログラマーですので、私に同行してください。私は、リストビューの項目が次のアクティビティに表示される項目に影響するアプリケーションを作成しようとしています。初心者:次のクラスに影響を与えるリストビュー

public class Primary extends ListActivity{ 
private static final String[] items = {"Item1", "Item2", "Item3", "item4", "Item5"}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items)); 

    TextView heading =(TextView)findViewById(R.id.listViewHeading); 
    heading.setText("Primary"); 
} 

public void onListItemClick(ListView parent, View v, int position, long id){ 

} 

及び第二の活性のために、私はこれがあります:

public class ImageActivity extends Activity{ 
TextView heading; 
ImageView image; 
TextView text; 
    public static final String[] headings={"heading 1", "heading 2", "heading 3", "heading 4", "heading 5",}; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.image_activity); 

    heading = (TextView)findViewById(R.id.adHeading); 
    image = (ImageView)findViewById(R.id.adImage); 
    text =(TextView)findViewById(R.id.adText); 

    addInfo(); 
} 

private void addInfo() { 
    heading.setText(headings[x]); 
    image.setImageResource(images[x]); 
    text.setText(text[x]); 

} 

見出し、画像、及びテキストの変更が基づいているので、私はそれを作ることができますどのようにこれまでのところ、私は、リストの活性を有しリストビューのどの項目が選択されましたか?

答えて

0

私は、リスト内の最初のアクティビティの選択されたインデックスに関連する、2番目のアクティビティで見出し、画像、テキストを設定したいと思います。

はちょうど、今uは、リストで選択した項目の位置を通過R、その第一の活動

public void onListItemClick(ListView parent, View v, int position, long id) 
    { 
     Intent intent = new Intent(this.getApplicationContext(), ImageActivity.class); 
     intent.putExtra("pos", position); 
     startActivity(intent); 
    } 

に次のコードを1つの事を入れてください。今

、次のアクティビティにコードImageActivityクラスの

public void onListItemClick(ListView parent, View v, int position, long id) 
     { 
      Intent intent = new Intent(Primary.this, ImageActivity.class); 
      intent.putExtra("selected value", item[position]); 
      startActivity(intent); 
     } 

以下

private void addInfo() 
    { 
     Bundle ext = getIntent().getExtras(); 
     if(ext != null) 
     { 
      int pos= ext.getInteger("pos"); 
         // ext.getInt("pos"); 

      heading.setText(headings[pos]); 

      // hey, frend, you don't have any array for selecting image-name and text 
      // image.setImageResource(images[x]); 
      // text.setText(text[x]); 
     } 
    } 
+0

次のコード行を使用してください: –

+0

意図インテント=新しいインテント(getApplicationContext()、ImageActivity.class); –

+0

上記のコードラインの代わりに –

2

listviewアクティビティで。

Intent i = new Intent(this, ImageActivity.class); 
    i.putExtra("data", data); 
    startActivity(i); 

次のAcitivty onCreate()メソッド。

final String data = getIntent().getStringExtra("data"); 
0

インテントの一部である「追加」機能を使用します。

ImageActivityをプライマリから起動すると、 'extras'を使って2つの間で情報を渡すことができます。

詳細については、thisリンクを参照してください。

ここでは基本的な例を示します。リストアイテムがクリックされたら、ImageActivityに含めるデータを "putExtra"を使用してインテントに配置します。

Intent intent = new Intent(getBaseContext(), ImageActivity.class); 
String data = "somedata"; 
intent.putExtra("DATA", data); 
startActivity(intent) 

その後、ImageActivityのonCreateでは、このようなデータを取得する:あなたがデータを取得すると

Bundle extras = getIntent().getExtras(); 
if(extras !=null) { 
String data= extras.getString("DATA"); // matches the tag used in putExtra 
} 

を、必要なビューを設定します。

0

使用次のコードを置く:OnCreateイベントでの(またはあなたがグローバルとしてアイテムの変数を置くことができる)

String item = getIntent().getStringExtra("Selected value"); 
関連する問題