Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GridView中的多个文本视图选择_Java_Android_Arrays_Arraylist_Multipleselection - Fatal编程技术网

Java GridView中的多个文本视图选择

Java GridView中的多个文本视图选择,java,android,arrays,arraylist,multipleselection,Java,Android,Arrays,Arraylist,Multipleselection,我设法创建了一个带有所选号码预览的TextView网格。正如您从代码中看到的,按一个数字就会得到一个简单的祝酒词。我需要做一个数字的多重选择,也许创建一个数组来推迟到另一个活动。你能帮我吗 XML: 主要活动: package kangel.customtest; import android.content.Context; import android.os.Handler; import android.support.v7.app.ActionBarActivity; impo

我设法创建了一个带有所选号码预览的TextView网格。正如您从代码中看到的,按一个数字就会得到一个简单的祝酒词。我需要做一个数字的多重选择,也许创建一个数组来推迟到另一个活动。你能帮我吗

XML:

主要活动:

    package kangel.customtest;

import android.content.Context;
import android.os.Handler;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {
    GridView gridView;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gridView = (GridView)findViewById(R.id.gridview);
        gridView.setAdapter(new NumberAdapter(this));
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                LayoutInflater inflater = getLayoutInflater();
                final View layout = inflater.inflate(R.layout.custom_toast_layout,
                        (ViewGroup) findViewById(R.id.custom_toast_layout));
                TextView selectedNumber = (TextView) layout.findViewById(R.id.selected_number);
                selectedNumber.setText(""+(position+1));

                Context context = getBaseContext();
                String text = ""+(position+1);
                int duration = Toast.LENGTH_SHORT;
                final Toast toast = Toast.makeText(context, text, duration);
                toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
                toast.setView(layout);
                toast.show();
                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        toast.cancel();
                    }
                }, 1000);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
packangel.customtest;
导入android.content.Context;
导入android.os.Handler;
导入android.support.v7.app.ActionBarActivity;
导入android.os.Bundle;
导入android.view.Gravity;
导入android.view.LayoutInflater;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.GridView;
导入android.widget.TextView;
导入android.widget.Toast;
公共类MainActivity扩展了ActionBarActivity{
GridView;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView=(gridView)findViewById(R.id.gridView);
setAdapter(新的NumberAdapter(this));
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
LayoutInflater充气机=getLayoutInflater();
最终视图布局=充气机。充气(R.layout.custom\u toast\u布局,
(视图组)findViewById(R.id.custom_toast_layout));
TextView selectedNumber=(TextView)布局。findViewById(R.id.selected\u编号);
selectedNumber.setText(“+(位置+1));
Context=getBaseContext();
字符串文本=”“+(位置+1);
int duration=Toast.LENGTH\u SHORT;
final Toast=Toast.makeText(上下文、文本、持续时间);
toast.setGravity(重心垂直,0,0);
toast.setView(布局);
toast.show();
Handler=newhandler();
handler.postDelayed(新的Runnable(){
@凌驾
公开募捐{
toast.cancel();
}
}, 1000);
}
});
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(右菜单菜单菜单主菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
//noinspection SimplifiableIf语句
if(id==R.id.action\u设置){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
}

多选数字是什么意思?这是我的结果:这是我想要的结果:多选数字是什么意思?这是我的结果:这是我想要的结果:
    package kangel.customtest;

import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.support.v4.view.GravityCompat;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * Created by Andrea on 22/06/2015.
 */
public class NumberAdapter extends BaseAdapter {

    private Context context;

    public NumberAdapter(Context context){
        this.context = context;
    }
    @Override
    public int getCount() {
        return 60;
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        TextView numberView;

        if (convertView == null){

            numberView = new TextView(context);
            numberView.setLayoutParams(new GridView.LayoutParams(110, 110));
            numberView.setPadding(0, 0, 0, 0);
            numberView.setTextColor(Color.WHITE);
            numberView.setBackgroundResource(R.drawable.rounded_edittext_zaffiro);
            numberView.setGravity(Gravity.CENTER);
            numberView.setTextSize(25);

        }
        else {
            numberView = (TextView) convertView;
        }

        numberView.setText(""+(position+1));
        return numberView;

    }
}
    package kangel.customtest;

import android.content.Context;
import android.os.Handler;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {
    GridView gridView;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gridView = (GridView)findViewById(R.id.gridview);
        gridView.setAdapter(new NumberAdapter(this));
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                LayoutInflater inflater = getLayoutInflater();
                final View layout = inflater.inflate(R.layout.custom_toast_layout,
                        (ViewGroup) findViewById(R.id.custom_toast_layout));
                TextView selectedNumber = (TextView) layout.findViewById(R.id.selected_number);
                selectedNumber.setText(""+(position+1));

                Context context = getBaseContext();
                String text = ""+(position+1);
                int duration = Toast.LENGTH_SHORT;
                final Toast toast = Toast.makeText(context, text, duration);
                toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
                toast.setView(layout);
                toast.show();
                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        toast.cancel();
                    }
                }, 1000);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}