上部に2つのボタンがあるアクティビティを作成しました。1つのボタンで「SMSログ」を表示し、2番目のボタンで「通話ログ」を表示します。
「SMSログ」ボタンをクリックすると、SMSログを表示するためのテキストビューと線形レイアウトを動的に作成しています。
[通話履歴]をクリックすると、通話履歴を表示するために別のテキストビューと線形レイアウトを動的に作成しています。
しかし、問題は、「smsログ」ボタンをクリックしてから「呼び出しログ」ボタンをクリックすると、以前に作成された線形レイアウトが削除されず、両方(以前のレイアウトと現在のレイアウト)が同時に表示されることです。
しかし、2番目のボタンをクリックすると、以前のレイアウトを削除する必要があります。
以前のビューグループまたはレイアウトを削除するには、どの関数を使用する必要がありますか。私のクラスファイルを読む必要があるかどうか教えてください。
編集:
これは私のアクティビティのコードです、
public class General extends Activity
{
String phone, message;
TextView Logs;
View layout, callLayout;
TextView data, callData, line, callLine;
Button smsLog, callLog;
LinearLayout ll, callll;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.general_main);
Logs = (TextView)findViewById(R.id.Logs);
layout = findViewById(R.id.layout);
callLayout = findViewById(R.id.layout);
smsLog = (Button)findViewById(R.id.smsLogs);
callLog = (Button)findViewById(R.id.callLogs);
smsLog.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
callLayout.setVisibility(View.GONE);
ll = new LinearLayout(getApplicationContext());
ll.setOrientation(LinearLayout.VERTICAL);
data = new TextView(getApplicationContext());
data.setText("First Line");
data.setTextColor(Color.YELLOW);
line = new TextView(getApplicationContext());
line.setText("Second Line");
((ViewGroup) ll).addView(data);
((ViewGroup) layout).addView(line);
((ViewGroup) layout).addView(ll);
}
});
callLog.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
layout.setVisibility(View.GONE);
callll = new LinearLayout(getApplicationContext());
callll.setOrientation(LinearLayout.VERTICAL);
callData = new TextView(getApplicationContext());
callLine = new TextView(getApplicationContext());
callData.setText("Third Line");
callLine.setText("Fourth Line");
((ViewGroup) callll).addView(callData);
((ViewGroup) callLayout).addView(callLine);
((ViewGroup) callLayout).addView(callll);
}
});
}
}
余分なコードを削除して、わかりやすくしました。