[英]How to create an id for an ImageView
我正在嘗試創建一個提醒應用程序。 如果用戶按下按鈕,他可以添加提醒,但我似乎無法讓他刪除它。 事實上,我創建了一個名為添加提醒的方法,當我們每天 select 並在 Text 中寫入文本時,它會創建一個新的 ImageView。 但是我無法刪除 ImageView 因為我不知道如何找到它。
我已經考慮過放置一個等於 ImageView 的變量one
,然后如果我們重新創建一個回調以使用if (one! = Null) {ImageView two = add a callback}
作為名稱two
。 但是如果我這樣做,我必須手動編寫每個變量,因此如果有 20,000 個提醒,則用字母寫每個數字 2000 次有點復雜。 能告訴我如何找到我創建的每個 ImageView 以便我可以刪除它嗎?
順便說一句,您可以告訴我如何使用 java 代碼更改圖像的大小。 我已經嘗試過setMinimumHeight
和setMaxHeight
但它不起作用。
package com.solal.roundbutton;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.LinearLayoutCompat;
import android.annotation.SuppressLint;
import android.content.res.Resources;
import android.media.Image;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity {
public ImageView nouvelleimage( int resources){
ImageView imageView = new ImageView(this);
LinearLayout ll = (LinearLayout)findViewById(R.id.linear);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
imageView.setImageResource(resources);
imageView.setMinimumHeight(100);
imageView.setMaxHeight(300);
ll.addView(imageView, lp);
return imageView;
}
Button button, supprimer;
int numero;
String dd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
supprimer = findViewById(R.id.supprimer);
numero = 0;
dd = String.valueOf(numero);
TextView string = new TextView(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView un = nouvelleimage( R.drawable.youstlogo);
}
});
ImageView image1 = nouvelleimage(R.drawable.youstlogo);
nouvelleimage( R.drawable.youstlogo);
supprimer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
public void supprimerimage( ImageView imageView){
LinearLayout ll = (LinearLayout)findViewById(R.id.linear);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
ll.removeView(imageView);
}
}
您可以在 class 中創建一個列表:
public class MainActivity extends AppCompatActivity {
List<ImageView> images = new ArrayList<>();
...
然后在按鈕點擊監聽器:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView image = nouvelleimage( R.drawable.youstlogo);
images.add(image):
}
});
現在,如果要刪除第 n 個圖像,可以調用:
ImageView image = images.remove(n - 1):
deleteImage(image):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.