Java 如何为ImageView创建id
我正在尝试创建一个提醒应用程序。如果用户按下一个按钮,他可以添加一个提醒,但我似乎无法让他删除它。事实上,我创建了一个名为AddaReminder的方法,当我们选择一天并在文本中写入文本时,它会创建一个新的ImageView。但是我不能删除ImageView,因为我不知道如何找到它 我已经考虑过放置一个变量Java 如何为ImageView创建id,java,android,Java,Android,我正在尝试创建一个提醒应用程序。如果用户按下一个按钮,他可以添加一个提醒,但我似乎无法让他删除它。事实上,我创建了一个名为AddaReminder的方法,当我们选择一天并在文本中写入文本时,它会创建一个新的ImageView。但是我不能删除ImageView,因为我不知道如何找到它 我已经考虑过放置一个变量one,该变量等于ImageView,然后如果我们重新创建一个回调,将其作为nametwo,使用if(one!=Null){ImageView two=adda callback}。但是如果我
one
,该变量等于ImageView,然后如果我们重新创建一个回调,将其作为nametwo
,使用if(one!=Null){ImageView two=adda callback}
。但是如果我这样做的话,我必须手动写入每个变量,因此有点复杂,例如,如果有20000个提醒,那么用字母写入每个数字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);
}
}
您可以在类中创建列表:
public class MainActivity extends AppCompatActivity {
List<ImageView> images = new ArrayList<>();
...
现在,如果要删除第n个图像,可以调用:
ImageView image = images.remove(n - 1):
deleteImage(image):
谢谢,我如何在创建一个新的ImageView时添加一个新的ImageView,以及如何恢复第五个ImageView(例如)。@wab您还可以翻译这个问题的标题吗?用什么language@assylias非常感谢你的帮助。
ImageView image = images.remove(n - 1):
deleteImage(image):