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){

}

2番目のアクティビティでは、これがあります:

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]);

}

リスト ビューで選択されたアイテムに基づいて、見出し、画像、およびテキストが変化するようにするにはどうすればよいですか?

4

4 に答える 4

2

リストビューのアクティビティ。

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

次のアクティビティ onCreate() メソッド。

final String data = getIntent().getStringExtra("data");
于 2012-05-12T01:34:56.253 に答える
0

以下のコードを使用してください

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);
        }

ImageActivityクラス内:oncreate内(またはアイテム変数をグローバルとして配置できます)

String item = getIntent().getStringExtra("Selected value");
于 2012-05-12T03:31:36.130 に答える
0

インテントの一部である「エクストラ」機能を使用します。

プライマリから ImageActivity の開始を呼び出す場合、「エクストラ」を使用して 2 つの間で情報を渡すことができます。

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

ここでは基本的な例を示します。リスト項目がクリックされたら、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
}

データを取得したら、必要なビューを設定します。

于 2012-05-12T01:38:28.773 に答える
0

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

1 つのことを行うだけで、次のコードを最初のアクティビティに入れます

    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);
    }

そのため、リストで選択されたアイテムの位置を渡します。

さて、次のコードを次のアクティビティに入れます

    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]);
        }
    }
于 2012-05-12T02:19:02.070 に答える