Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
Android TextIsSelectable Textview在共享上引发错误_Android_Listview - Fatal编程技术网

Android TextIsSelectable Textview在共享上引发错误

Android TextIsSelectable Textview在共享上引发错误,android,listview,Android,Listview,下面是我得到的错误: 07-19 09:36:41.882: E/AndroidRuntime(18380): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 07-19 09:36:41

下面是我得到的错误:

07-19 09:36:41.882: E/AndroidRuntime(18380):      android.util.AndroidRuntimeException: Calling startActivity() from outside     of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.app.ContextImpl.startActivity(ContextImpl.java:672)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at    android.app.ContextImpl.startActivity(ContextImpl.java:659)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.content.ContextWrapper.startActivity(ContextWrapper.java:331)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.widget.TextView.shareSelectedText(TextView.java:9493)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.widget.TextView.onTextContextMenuItem(TextView.java:9211)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.widget.Editor$TextActionModeCallback.onActionItemClicked(Editor.java:3249)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.policy.PhoneWindow$DecorView$ActionModeCallback2Wrapper.onActionItemClicked(PhoneWindow.java:3540)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.view.FloatingActionMode$3.onMenuItemSelected(FloatingActionMode.java:85)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.view.FloatingActionMode$4.onMenuItemClick(FloatingActionMode.java:111)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.widget.FloatingToolbar$FloatingToolbarMainPanel$1.onClick(FloatingToolbar.java:1015)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.view.View.performClick(View.java:5204)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.view.View$PerformClick.run(View.java:21153)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.os.Handler.handleCallback(Handler.java:739)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.os.Handler.dispatchMessage(Handler.java:95)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.os.Looper.loop(Looper.java:148)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at android.app.ActivityThread.main(ActivityThread.java:5417)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at java.lang.reflect.Method.invoke(Native Method)
07-19 09:36:41.882: E/AndroidRuntime(18380):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
每当我点击我的文本视图,然后点击共享,我就会在我的android设备上看到这个错误。为什么呢?解决办法是什么?我所做的就是为textview调用textisselectable属性。此视图位于listview内部

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
    <TextView
        android:id="@+id/itemAccountdetails"
        style="@style/listViewPrimaryDetail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:paddingLeft="10dp"
        android:layout_gravity="left"
        android:gravity="left"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:singleLine="true" />
    <TextView
        android:id="@+id/itemAccountdetailsValue"
        style="@style/listViewSecondaryDetail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:layout_gravity="right"
        android:textIsSelectable="true"
        android:gravity="right"
        android:paddingRight="10dp"
        android:paddingLeft="10dp"
         android:paddingTop="10dp"
        android:paddingBottom="10dp"/>
</LinearLayout>
<View
    android:id="@+id/item_separator"
    android:layout_width="match_parent"
    android:layout_height="@dimen/lvDividerHeight"
    android:background="@color/lvDividerColor" />
  </LinearLayout>

共享完整的stacktrace和活动代码我不能共享长代码,它看起来很难看。这是一个列表视图屏幕,文本视图在每行中都是可选的。我已经给出了XML。只需简单地考虑事物,ListVIEW适配器我就调用它中提供的XML。在活动文件中有一些错误,不看它是不可能的。同时发布完整的stacktrace。发布activityposted stacktrace以共享完整的stacktrace和活动代码我无法共享长代码,这看起来很难看。这是一个列表视图屏幕,文本视图在每行中都是可选的。我已经给出了XML。只需简单地考虑事物,ListVIEW适配器我就调用它中提供的XML。在活动文件中有一些错误,不看它是不可能的。同时发布完整的stacktrace。也发布了activityposted stacktrace
public class AccountDetailsActivity extends SherlockActivity implements AsyncResponse {
protected Button submitBtn;
String uuid = "";
String accnum="";
String ib="";
AccountDetailsListAdapter adapter;
ArrayList<Object> arr = new ArrayList<Object>();
public String endTime = "";
public String startTime = "";
public String maximumAccountBalance = "";
public String minimumAccountBalance = "";
public boolean accountCredited = false;
public boolean accountDebited = false;
public boolean incomingTransfer = false;
public boolean salaryCredited = false;
public boolean accountBalance = false;
public boolean failedStandingOrders = false;
public boolean creditCardPayment = false;
public boolean accountOverdrawn = false;
     private class AccountItemListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        if(arr.get(position) instanceof Account)
        { 
            Intent i = new Intent(getApplicationContext(),
                    TransactionHistoryDetailsActivity.class);
            Account accountItem = (Account) arr.get(position);
            i.putExtra("description", accountItem.getAccountNumber());
            i.putExtra("runningBalance", accountItem.getBalance());
            i.putExtra("creditAmount", accountItem.getCurrency2());
            i.putExtra("reference", accountItem.getReference());
            i.putExtra("postingDate", accountItem.getType());
            i.putExtra("valueDate", accountItem.getLedgerBalance());
            i.putExtra("debitAmount", accountItem.getDebitAmount());    
            startActivity(i);}}}
@Override
public void onCreate(Bundle savedInstanceState) {       
           try {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.details_subpage_list);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
        if (!Common.getItemSelection(AccountDetailsActivity.this).equals(
                "osmething"))
        {
            SharedPreferences settings = PreferenceManager                      .getDefaultSharedPreferences(AccountDetailsActivity.this);
            String theme = settings.getString("theme", "");
            if(theme != null && theme.trim().toLowerCase().equals("premium"))
            {
                getSupportActionBar().setIcon(R.drawable.ic_launcherg);
            }
            else if(theme != null && theme.trim().toLowerCase().equals("private"))
            {
                getSupportActionBar().setIcon(R.drawable.ic_private);
            }
            else
            {
                getSupportActionBar().setIcon(R.drawable.ic_launcher);
            }
        }       
        Bundle extras = getIntent().getExtras();
        String accountNumber = "";
        String iban = "";
        String balance = "";
        String type = "";
        String currency = "";
        String overdraftLimit = "";
        String nickName = "";
        String ledgerBalance = "";
        HeaderItem  x11 = new HeaderItem();     x11.setText(getResources().getString(R.string.accountDetails).toUpperCase());
        arr.add(x11);
        if (extras != null) {
            uuid = extras.getString("uuid");
            accountNumber = extras.getString("accountNumber");
            accnum = accountNumber;
            iban = extras.getString("iban");
            ib =  iban;
            balance = extras.getString("balance");
            type = extras.getString("type");
            currency = extras.getString("currency");
            overdraftLimit = extras.getString("overdraftLimit");
            nickName = extras.getString("nickName");
            ledgerBalance = extras.getString("ledgerBalance");
            getSupportActionBar().setTitle(nickName);
            arr.add(accountNumber);
            arr.add(type);
            arr.add(iban);
            arr.add(currency);
            arr.add(ledgerBalance);// ledger balance
            arr.add(overdraftLimit);
            arr.add(balance);
                    accountCredited = extras.getBoolean("accountCredited");
            accountBalance = extras.getBoolean("accountBalance");
            failedStandingOrders = extras.getBoolean("failedStandingOrders");
            accountOverdrawn = extras.getBoolean("accountOverdrawn");
            incomingTransfer = extras.getBoolean("incomingTransfer");
            salaryCredited = extras.getBoolean("salaryCredited");
            creditCardPayment = extras.getBoolean("creditCardPayment");
            accountDebited = extras.getBoolean("accountDebited");
            maximumAccountBalance = extras.getString("maximumAccountBalance");
            minimumAccountBalance = extras.getString("minimumAccountBalance");
            endTime = extras.getString("endTime");
            startTime = extras.getString("startTime");
        }
        ListView accountDetailsList = (ListView) findViewById(R.id.list_accounts_details);
        adapter = new AccountDetailsListAdapter(
                getApplicationContext(), arr);
        accountDetailsList.setAdapter(adapter);
        accountDetailsList.setOnItemClickListener(new AccountItemListener());       
        processFinish(//some json here);            
    } catch (Exception e) {
    }   }
@Override
public void processFinish(StringBuilder output) {
    try
    {       
        HeaderItem  x11 = new HeaderItem();     x11.setText(getResources().getString(R.string.transactionHistory1).toUpperCase());
        arr.add(x11);
        JSONObject jsonObj = new JSONObject(output.toString());
        String status = jsonObj.getString("status");
        String status1 = jsonObj.optString("message", "");
        if (status != null && status.trim().equals("2006")) {               
        } else if (status.equals("1000")) {
            JSONObject data = jsonObj.getJSONObject("data");
            JSONArray contacts = data.getJSONArray("transactions");
            for (int i = 0; i < contacts.length(); i++) {
                JSONObject c = contacts.getJSONObject(i);
                String accountNumbr = c.optString("description", "");
                String availableBalance = c.optString("balance", "");
                String type = c.optString("postingDate", "");
                String iban = c.optString("creditAmount", "");
                String valueDate = c.optString("valueDate", "");
                String reference = c.optString("reference", "");
                String debitAmount = c.optString("debitAmount", "");
                Account acc = new Account();
                acc.setAccountNumber(accountNumbr);
                acc.setType(type);
                acc.setCurrency("");
                acc.setBalance(availableBalance);
                acc.setCurrency2(iban);
                acc.setLedgerBalance(valueDate);
                acc.setReference(reference);
                acc.setHistoryAccount("1");
                acc.setDebitAmount(debitAmount);
                acc.setPath(uuid);
                arr.add(acc);
            }
        }       
        adapter.notifyDataSetChanged();
        }
    catch(Exception e)
    {   
    }       
}}