2016-09-23 60 views
0

我有兩項活動,MainActivitySecondActivity。在MainActivity我有10 TextViews列出。他們都可點擊。我想要SecondActivity當這些TextViews中的任何一個被點擊時,第二個Activity顯示關於點擊TextView的文本。如何通過單擊TextView更改活動字符串

例如:

MainActivity textViews:

1)梅賽德斯
2)BMW
3)奧迪
4)保時捷

當梅賽德斯點擊時,在SecondActivity一個梅賽德斯文本並在SecondActivity後退按鈕。當寶馬點擊MainActivitySecondActivity再次打開,但關於寶馬的文字。

我希望我能解釋一下。

+0

你能不能把它傳遞使用意圖? –

+0

您必須將數據使用捆綁/意圖傳遞給其他人的活動 – Aspicas

+0

您想實施clicklistener並將數據捆綁或使用putExtra函數 –

回答

0

MainActivity:

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    TextView textview = (TextView) findViewById(R.id.bmw); 
    textview.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent=new Intent (this,SecondActivity.class); 
      intent.putExtra("data","BMW"); 

      startActivity(intent); 
     } 
    }); 

    //similarly send data to next activity 
    } 
} 

SecondActivity:

public class SecondActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second_layout); 

    Intent intent=getIntent(); 
    String message = intent.getStringExtra("data"); 

    TextView textview = (TextView) findViewById(R.id.textView); 

    textView.setText(message); 

    } 
} 
1

可以使用bundleintent

從活動發送數據的

Bundle bundle = new Bundle(); 
bundle.putString("Datas", brandString); 
Intent intent = new Intent(this, ActivityB.class); 
intent.putExtras(bundle); 

要想從活動B

Intent intent= getIntent(); 
Bundle bundle = intent.getExtras(); 

if (bundle != null) { 
    String data = bundle.getString("Datas"); 
    StringBrand = data; 
    StringBrand = getIntent().getExtras().getString("Datas"); 
} 
0

數據傳遞從Activity A數據Activity B您必須做兩個步驟:

爲您的每個textView添加一個onClickListener

你甚至可以做它在XML方面:

<TextView 
    ... 
    android:onClick="onClick" 
    android:clickable="true" 
/> 

你甚至可以做到這一點通過java端

每個TextView中設置一個onClickListener在Java代碼中執行以下操作:

private void onClick(View v){ 
    String clickedText = ((TextView)v).text); 
    Intent intent = new Intent(this, ActivityB.class); 
    intent.putExtra("key", clickedText); 
    startActivity(intent); 
} 

現在ActivityB代碼執行以下操作中的onCreate

Intent retrieved = getIntent(); 
String chosenWord = retrieved.getStringExtra("key"); 
if(chosenword != null){ 
    switch(chosenWord){ 
    case "BMW": 
     myTextView.text = "BMW detail text"; 
     break; 
    ... 
    } 
} 

希望這有助於

相關問題